关于数字图像处理考试

我们学校这门科目是半学期就完结哦,同学们学习的时候要注意时间哦。
选择题不用管,到时候会有各种版本的复习资料的。
以下这些东西可能会是大题的重点:

我根据平时代码总结的,供参考

基本操作:

1.读图:imread(‘图片路径’)
2.显示图:imshow(图片)
3.开新窗口:figure()
4.rgb转灰度图:rgb2gray(图片)
5.灰度图合成彩色图:图片 = cat(3,灰度图1,灰度图2,灰度图3);

实验三(直方图与直方图均衡化):

1.获取灰度直方图:a_直方图 = imhist(图片)
2.对图像进行直方图均衡化:a_均衡化 = histeq(图片)
3.对图像进行指定直方图的规定化:a_规定化 = histeq(图片,规定的直方图)

实验四(最邻近插值和双线性插值):

1.matlab 自带的函数imresize(图片,放缩倍数或者缩放后的尺寸,插值方式)
2.imresize(图片,2,’nearest’) 这个是按最邻近插值方式,按2倍放大
3.Imresize(图片,2,’bilinear’) 这个是按双线性插值方式,按2倍放大
4.imresize(图片,[500,500],’nearest’) 这个是按最邻近插值方式,指定放大后尺寸为500x500
5.Imresize(图片,[500,500],’bilinear’) 这个是按双线性插值方式,指定放大后尺寸为500x500
6.双线性插值公式原理:
在这里插入图片描述

7.最邻近插值公式原理:求映射后的最邻近下标

实验五(平滑滤波器):

1.添加噪声:
j1 = imnoise(图片,‘salt’,0.02);%椒盐噪声
j2 = imnoise(图片,‘gaussian’,0,0.01); %高斯
j1 = imnoise(图片,‘poisson’); %泊松
j1 = imnoise(图片,‘speckle’,0.04); %乘法
2.使用均值滤波器 imfilter(图片,滤波核):
Moban = one(3,3)/9; //设置滤波核
均值滤波后图片 = imfilter(图片,Moban);

3.使用中值滤波器 medfilt2(图片,窗口大小):
中值滤波后图片 = medfilt2(图片,[3,3]); 这里[3,3]表示滤波器窗口大小为3x3
注意: medfilt2()函数只能用于处理灰度图即只有一个维度的图。

实验六(锐化):

可以使用imfilter()函数实现:
先设置算子:
A = [0,-1,0;
-1,4,-1;
0,-1,0];
边缘 = imfilter(原图,A);
锐化后图片 = 边缘+原图

实验七(傅里叶变换和频域处理):一般不考

实验八(彩色图像):

1.裁剪图像:imcrop(图片,区域);
如:
rect = [区域左上角横坐标,区域左上角纵坐标,区域右下角横坐标,区域右下角纵坐标]
imcrop(图片,rect);

2.按比例合成:
合成后图片 = 比例1x图片1+比例2x图片2

3.将图像从 RGB 颜色空间转换为灰度空间,分别用加权法、均值法和最大值法、以及 matlab 自带的函数 rgb2gray:

啊这个函数怎么要自己实现啊,那就没有太大的必要来记,毕竟填空题因人而异,我这里用的是遍历,I是原图,S是处理后的图,没太大看的必要。
在这里插入图片描述

4.亮度增强:
CMYK亮度增强:增强后图 = 增强系数* imcomplement(原图)

实验九(图像压缩):要记住书上怎么编码的

1,求熵值/平均信息量:
核心思想就是求出每个灰度的概率,再通过公式累加计算:
熵 =
G=256; %图像的灰度级
[height,width] = size(I); %获取输入值的高和宽
[count,x] = imhist(I,G);
p = count; %原始灰度直方图
I_size = height*width;
H_x = 0;
for i=1:256 %循环
p(i) = count(i)/I_size;
if p(i)~=0; %如果像素点的概率不为零
H_x=-p(i)*log2(p(i))+H_x; %求熵值的公式
end
end
H_x就是平均信号量,即熵
2,哈夫曼编码:代码没太大看的必要

原理大家应该都懂,代码大伙们都是抄的这个吗?(ω )
[M,N] = size(I);%将图像转为二维矩阵
I1 = I( : );%转为一维向量
k = 0:255;
dict = huffmandict(k,p); %根据灰度级k和概率数组P生成Huffman字典
enco = huffmanenco(I1,dict);
deco = huffmandeco(enco,dict); %哈夫曼解码
Ide = col2im(deco,[M,N],[M,N],‘distinct’); %把向量重新转换成图像块;

3,压缩率:
B=length(enco);
sumcode=length(deco);%编码后比特长度
CR=sumcode/B;%计算压缩率
disp([‘原始图像 Bit: ‘,num2str(B),’ bit’]);
disp([‘压缩图像 Bit: ‘,num2str(sumcode),’ bit’]);
disp(['压缩率: ',num2str(CR)]);

这些就都考考选择题吧,或者填空题算算。

实验十(形态学):

1.生成结构:
% 生成方形,圆形,菱形结构:
rectangle = strel(‘rectangle’,[5 10]); % 生成5x10大小的矩形
circle = strel(‘disk’,5); % 生成半径为5的圆形
square = strel(‘square’,5); % 生成5x5大小的正方形(也就是菱形)

2,腐蚀:imerode(图片,结构);
3,膨胀:imdilate(图片,结构);
4,开运算:imopen(图片,结构);
5,闭运算:imclose(图片,结构);

实验十一(图像分割):不怎么考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2776346.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

新书速览|PyTorch 2.0深度学习从零开始学

实战中文情感分类、拼音汉字转化、中文文本分类、拼音汉字翻译、强化学习、语音唤醒、人脸识别 01 本书简介 本书以通俗易懂的方式介绍PyTorch深度学习基础理论,并以项目实战的形式详细介绍PyTorch框架的使用。为读者揭示PyTorch 2.0进行深度学习项目实战的核心技…

Springboot+vue的社区智慧养老监护管理平台设计与实现(有报告),Javaee项目,springboot vue前后端分离项目

演示视频: Springbootvue的社区智慧养老监护管理平台设计与实现(有报告),Javaee项目,springboot vue前后端分离项目 项目介绍: 本文设计了一个基于Springbootvue的前后端分离的社区智慧养老监护管理平台设…

GPIO输入

GPIO输入 实现的功能:按键控制LED、光敏传感器控制蜂鸣器 按键:常见的输入设备,按下导通,松开断开 按键抖动:由于按键内部使用的是机械弹簧片来进行通断的,所以在按下和松手的瞬间会伴随有一连串的抖动。 …

Linux匿名管道

目录 1.原理 1.直接原理 2.本质原理 2.管道接口 3.管道中的四种情况 1.读写端正常,管道如果为空,读端就要堵塞 2.读写端正常,管道如果被写满,写端就要堵塞 3.读端正常,写端关闭,读端就会读到0&#…

图书系统的Web实现(含源码)

源码地址https://gitee.com/an-indestructible-blade/project 注意事项: BorrowBooksWeb\src\main\resources路径下的application.yml文件里面的url,username,password这三个属性和自己的数据库保持一致。 浏览器访问url:http://127.0.0.1:…

three.js 匀速动画(向量表示速度)

效果&#xff1a; 代码&#xff1a; <template><div><el-container><el-main><div class"box-card-left"><div id"threejs" style"border: 1px solid red"></div>1. 匀速动画(向量表示速度)</div…

网络学习:数据链路层VLAN原理和配置

一、简介&#xff1a; VLAN又称为虚拟局域网&#xff0c;它是用来将使用路由器的网络分割成多个虚拟局域网&#xff0c;起到隔离广播域的作用&#xff0c;一个VLAN通常对应一个IP网段&#xff0c;不同VLAN通常规划到不同IP网段。划分VLAN可以提高网络的通讯质量和安全性。 二、…

Unity类银河恶魔城学习记录5-1.5-2 P62-63 Creating Player Manager and Skill Manager源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili PlayerManager.cs using System.Collections; using System.Collections.G…

【制作100个unity游戏之24】unity制作一个3D动物AI生态系统游戏3(附项目源码)

最终效果 文章目录 最终效果系列目录前言随着地面法线旋转在地形上随机生成动物不同部位颜色不同最终效果源码完结系列目录 前言 欢迎来到【制作100个Unity游戏】系列!本系列将引导您一步步学习如何使用Unity开发各种类型的游戏。在这第24篇中,我们将探索如何用unity制作一…

B2080 计算多项式的值(洛谷)

题目描述 假定多项式的形式为 … x1&#xff0c;请计算给定单精度浮点数 x 和正整数 n 值的情况下这个多项式的值。多项式的值精确到小数点后两位&#xff0c;保证最终结果在 double 范围内。 输入格式 输入仅一行&#xff0c;包括 x 和 n&#xff0c;用单个空格隔开。 输…

前端滚动组件分享

分享一个前端可视化常用的卡片列表滚动组件&#xff0c;常用于可视化项目左右两侧的卡片列表的滚动。效果如下图所示&#xff1a; 组件描述 当鼠标移入滚动区域时&#xff0c;滚动行为停止当鼠标再次离开时&#xff0c;滚动继续 源码展示 <template><div ref"…

【RPA】智能自动化的未来:AI + RPA

伴随着人工智能&#xff08;AI&#xff09;技术的迅猛进步&#xff0c;机器人流程自动化&#xff08;RPA&#xff09;正在经历一场翻天覆地的变革。AI为RPA注入了新的活力&#xff0c;尤其在处理复杂任务和制定决策方面。通过融合自然语言处理&#xff08;NLP&#xff09;、机器…

uni-app x,一个纯原生的Android App开发工具

uni-app x&#xff0c;下一代uni-app&#xff0c;一个神奇的产品。 用vue语法、uni的组件、api&#xff0c;以及uts语言&#xff0c;编译出了kotlin的app。不再使用js引擎和webview。纯纯的kotlin原生app。 uni-app x&#xff0c;让“跨平台开发性能不如原生”的这条曾广为流…

CSP-202109-1-数组推导

CSP-202109-1-数组推导 解题思路 如果 currentValue 与 previousValue 相同&#xff0c;说明这个值不是一个独特的新值&#xff0c;因此只将它加到 sumTotal 上。如果 currentValue 与 previousValue 不相同&#xff0c;说明这是一个新的独特值&#xff0c;因此既将它加到 su…

EMC学习笔记(二十三)降低EMI的PCB设计指南(三)

双层板电源分配 1.单点与多点分布2.星型分布3.创建网格平面4.旁路和磁珠5.将噪声保持在芯片附近 tips&#xff1a;资料主要来自网络&#xff0c;仅供学习使用。 1.单点与多点分布 在一个真正的单点配电系统中&#xff0c;每个有源元件都有自己独立的电源和地&#xff0c;这些…

让AI更“智能”的Agent,究竟是什么?

引言 我相信对许多对AI感兴趣的读者来说&#xff0c;“Agent”是个听起来既熟悉又陌生的词汇&#xff0c;而由于ChatGPT引发的浪潮又将Agent的概念推上顶峰&#xff0c;正好借助这个机会我来好好解释一下这个词汇。 Agent的基本含义 在AI领域&#xff0c;Agent基本可以被理解…

蓝桥杯备赛Day9——链表进阶

给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。 示例 1: 输入:head = [1,2,3,4,5], n = 2 输出:[1,2,3,5]示例 2: 输入:head = [1], n = 1 输出:[]示例 3: 输入:head = [1,2], n = 1 输出:[1]提示: 链表中结点的数目为 sz1 <= sz <= 300 &l…

心情切换器(仅供娱乐)

本次分享主要内容较为新奇&#xff0c;作用程度可以说没用&#xff0c;仅供娱乐(注&#xff1a;本次成果使用的为vue框架实现) 一、静态及呈现图 <div class"switchMood"><h2>心情转换器</h2><!--输入当前心情表单--><div class"fr…

Project 2010下载安装教程,保姆级教程,附安装包和工具

前言 Project是一款项目管理软件&#xff0c;不仅可以快速、准确地创建项目计划&#xff0c;而且可以帮助项目经理实现项目进度、成本的控制、分析和预测&#xff0c;使项目工期大大缩短&#xff0c;资源得到有效利用&#xff0c;提高经济效益。软件设计目的在于协助专案经理发…

PlantUML绘制UML图教程

UML&#xff08;Unified Modeling Language&#xff09;是一种通用的建模语言&#xff0c;广泛用于软件开发中对系统进行可视化建模。PlantUML是一款强大的工具&#xff0c;通过简单的文本描述&#xff0c;能够生成UML图&#xff0c;包括类图、时序图、用例图等。PlantUML是一款…