https://elainelv.blog.csdn.net/article/details/85400015
字符串必须用单引号‘ ‘
逗号, 可作为指令间的分隔符,也可作为数组列之间的分隔符
~= 判断不等
… 表示续行 但在字符串中不能这样写
彩色图像是三维的 ,灰度图像是二维的
clc:清除命令窗口的内容,对工作环境中的全部变量无任何影响
close:关闭当前的Figure窗口
close all:关闭所有的Figure窗口
clear:清除工作空间的所有变量
clear all:清除工作空间的所有变量,函数,和MEX文件
whos 查看所有变量
save 保存所有变量到本地 load倒入变量
disp([‘a’,‘b’]) 在控制台打印a bs
数组 矩阵 向量操作
矩阵下标从1开始!!!
x=[1 2 3 4;5 6 7 8;9 10 11 12];生成三行四列的矩阵
x(1) 代表最左上角的元素,下标从1开始!
下标是按列的!!!
y=x(1,2:4);表示截取矩阵第一行的第2-4列
x(1:3,1:3) 截取矩阵的1-3行的1-3列
x(1,:) 获取第一行 不填有默认值
y’表示矩阵的转置
x=[x,y] ,是添加列 x=[x;x] ;是添加行
x(:)把矩阵排成一排,这一列是由a的每一列串联起来的 --在实现中值滤波时用到,结合median(A()取中值函数
删除一位数组的一个元素 x(5)=[] 删除第五个元素
x=1:2:10 生成1-10 间隔为2的数组
.^2 矩阵每一个元素都乘2 ^ 矩阵乘法
fix 取整数部分 round 四舍五入ceil 天花板 floor地板
imfinfo(文件名) 获取文件信息
imwrite(A,filename,fmt)把图像数据写入文件
A是图像数据,filename是目标图像名字,fmt是要生成的图片的格式。
h =subplot(m,n,p)
将数字窗口分成m×n的网格,
并在当前图的第p个位置创建一个轴对象,并返回轴句柄。
imhist显示直方图
[m,n]=size(f) 获得图像的长宽 并赋值给m , n
I = rgb2gray(RGB) 将真彩色图像 RGB 转换为灰度图像 I
rgb2ind(imgrgb,256);%转换为256色的索引图像
mat2gray 把一个double类的任意数组转换成取值范围为[0 1]的亮度图像。其中图像I的取值范围也在0(黑色)到1(白色)之间。
im2uint8 把图像数据类型转换为无符号八位整型
I = mat2gray(A)
Num2str 把数字转换成字符串s
histeq 直方图均衡化 imhist 显示直方图
Sum(sum(f)) 求图像所有像素的和’sum(f)计算的是每一列的总和 ,矩阵的计算都是以列为单位的
[m,n] = size(f) //获取的f的高度 和 宽度 !注意区别
sum(a() 计算a矩阵的所有元素之和;将图像矩阵A归一化为图像矩阵I, 归一化后矩阵中每个元素的值都在0到1范围内(包括0和1)。其中0表示黑色,1表示白色。
abs 函数 求绝对值,对于复数是取模值!
imshow(f,[]) 用于输出double类型的图像
roipoly();%取样函数
连乘prod(A) ;求矩阵元素个数numel(A) ; ones(m,n) 生成一个m*n的全1的矩阵
Sort(A)对A矩阵进行排序,是对每一列单独升序 sort(A(:))对列矩阵进行排序
棋盘效应
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-akHjvl6p-1678872056125)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210523125222509.png)]
马赫带效应 是指图像不同灰度级条带之间在灰度交界处存在
毛边现象
https://blog.csdn.net/sddzlsc/article/details/102657320
虚假轮廓
振铃现象·
注意只有高斯滤波器没有振铃现象
Butterworth 阶数n小的时候 才会减弱
以下灰度映射曲线中(r为输入图像的灰度,s为输出图像的灰度。输入和输出图像的灰度归一化为[ 0,1])。哪个可以用来增强过度曝光的图像()??
我的答案: BD正确答案: AB
分析:
过度曝光图像偏白,图像的灰度值分布在右边,(255代表白色 0 黑色 )因此需要
Distance
结论:4邻域是8邻域 m邻域的充分条件!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xXIL1q28-1678872056127)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210523123247372.png)]
噪声
随机噪声 椒盐、高斯(在空域处理)、周期噪声(在频域处理)
空间域(spatial domain)
以图像左上为原点,横为y竖为x的二维平面。
频域、变换域(frequency domain)
在有些情况下,通过变换输入图像来表达处理任务,在变换域执行处理任务,然后再反变换到空间域会更好。
https://blog.csdn.net/ice__snow/article/details/78633143
灰度直方图
概念
对应每一个灰度值,统计该灰度值的像素数,据此绘制的像素数-灰度值图形。
0是黑,255是白
三种灰度直方图
even illumination 均匀光照 --均匀分布
overexposed 过曝图像 --集中在左边
underexposed 欠曝图像–集中在右边
灰度方差
:说明图像对比度(方差小,对比度小;方差大,对比度大)A. 直方图反映了图像中不同灰度值的分布情况
B. 归一化直方图的所有分量之和等于1
C. 直方图描述了每个像素在图像中的数量
D. 在亮图像中,直方图的组成成分集中在高灰度的一侧
得到灰度直方图均匀分布的新图像,灰度分布区域均匀,图像所占的像素灰度间距拉大,加大图像反差**(提高对比度)**,改善图像视觉效果,达到增强效果。
方法一
rk 输入图像fxy 原先图像的像素点
sk输出图像gxy(原先灰度值为k的像素点在新图像里的灰度值)
k灰度值
nk 灰度值为k的像素点个数
N 所有像素点个数
cdf 累计出现的次数 :累积分布函数(Cumulative Distribution Function),又叫分布函数,是概率密度函数的积分
L是灰度级 这里是255 即266-1
【方法二】
p(rk) 是占总体的比率 算的时候进行四舍五入取三位就行!
CDF是累积分布函数
7是灰度级-1 即 8个灰度级
INT[] 取整数部分忽略小数
=》与方法一的区别是统计了所有灰度级出现的次数!
注意 matlab里的注释是%
matlab数组下标从1开始
%采用方法二
clear;
clc
f=imread(‘pout.tif’);
%1.初始化计数数组pf
pf=zeros(1,256);%pf数组初始化为0,一共256个pf1---pf256 对应灰度值 0-255!! ,pf数组存放的是每个像素出现的次数;注意默认是双精度!!!
[m,n]=size(f);%获得图像f的长宽,用来遍历数组,统计每个像素出现的次数
%2.统计每个像素0-255灰度值 出现的次数 对应的是pf下标1-256
for x=1:m
for y=1:n
pf(f(x,y)+1) = pf(f(x,y)+1)+1;%例如 原先图像灰度值为0 对应的是pf(1) pf(1)=pf(1)+1 f(x,y)对应像素点的灰度值
end
end
%3.次数除以总数 计算比率
pf = pf/m/n;
%4.计算cdf数组
cf=zeros(1,256);
cf(1)=pf(1);%初始状态
for i=2:256%从第二个开始算
cf(i)=cf(i-1)+pf(i);
end
%5.计算直方图均衡化后的新图像每个灰度值对应的个数
graylevel=fix(255*cf+0.5);
%6.重写新图像的灰度值
for x=1:m
for y=1:n
g(x,y)=graylevel(g(x,y)+1);%小技巧 例如灰度值为0的像素点对应的是graylevel(1)处的值
end
end
?找不到g
%数据类型转换 因为matlab默认为double类型,即zeros初始化时为double类型,而图像必须是八位的无符号整型
g=uint8(g);
//展示图像
直方图均衡化对原先过曝的、欠曝的图像有明显效果,而对原先灰度级本就均匀分布的图像没有效果,反而其灰度值曲线的横坐标会变窄,对比度不明显。
https://blog…net/qq_17828675/article/details/78494444
https://blog.csdn.net/IT_charge/article/details/105541083
线性变换
图像反转
用于增强嵌入在一幅图像的暗区域中的白色或灰色细节。特别是当黑色面积在尺寸上占主导地位时。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xWFhHohD-1678872056128)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210322081723419.png)]
阈值化 thresholding
如何取阈值?找二峰性的直方图的谷点
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Cg2UsdAM-1678872056128)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210322082240020.png)]
自适应的阈值化 与 全局的阈值化
非线性变换
对数变换
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-rY68YPHD-1678872056128)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210322085736233.png)]
Log 曲线 显示出低灰度部分更多的细节,将其高灰度值部分压缩,减少高灰度值部分的细节,从而达到强调图像低灰度部分的目的
曲线切线的斜率 >1=》增强对比度
应用:用于增强灰度值集中于左边的图像,即欠曝光图片,因为右边像素点牺牲少
% 读取图像
img_1= imread('Fig0308(a)(fractured_spine).tif');
% 输入图像是uint8类型的,所以第一步先将输入图像转换成double型的:double(img_1)
% 对转换成double型的img_1,参照对数变换的公式,其中c = 1,调用log函数:log(1 + double(img_1))
% 将结果标定为[0, 1]范围内的double类的数组:mat2gray(log(1 + double(img_1)))--【归一化!!】
% 最后再将数组转换成uint8类型的图像:im2uint8(mat2gray(log(1 + double(img_1))))
img_2 = im2uint8(mat2gray(log(1 + double(img_1))));
% 显示图像
subplot(121), imshow(img_1);
subplot(122), imshow(img_2)
例题:
指数变换
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WV6GDHwj-1678872056128)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210322090744112.png)]
matlab代码:
sd1
例题1:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-apBNzIyN-1678872056128)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210322092922192.png)]
注意:overexposed image 过度曝光图片
a 暗区斜率大于1 可以增强对比度,亮区没有处理!
b 暗区没有处理,但可以增强对比度! 只是不是最合适的
c 暗区曲线斜率大于1 增强了低灰度值区域 是处理欠曝光的图片 选a \d 我感觉只选d
分段线性灰度变换
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eN0jVvJa-1678872056129)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210322093519025.png)]
⚠️注意看横坐标是输入的对比度r,纵坐标是输出的对比度s
看直线的斜率 ,斜率大于1 增强对比度; 斜率小于1 降低对比度
应用:对比度拉伸、灰度拉伸 https://blog.csdn.net/space_walk/article/details/96309410
例题:假设输入图像的灰度范围为[50,150]。使用线性灰度变换将范围拉伸到[0,255]。尝试计算对应于输入灰度r=70的输出灰度s
灰度分割–与二值化类似
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gu0MJMjx-1678872056129)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210322093531732.png)]
应用:对感兴趣的目标(a-b区间)进行涂色勾线,用一种颜色表示背景,用另一种颜色突出目标
位平面分割bit plane slicing
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ge14Dbzq-1678872056129)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210322094055207.png)]
什么是图像的位平面?
一幅256个灰度级的图像可以分解成8个位平面(每一个像素都是由8位组成),原因就是2^8=256,换句话说每一个像素点的灰度值可以由8个二进制位来表示,所谓的位平面(bit plane)就是依次取出每个像素点的数值组成一个位平面。
每一位的权重不一样,越高阶的二进制包含重要的信息(轮廓),越低位的二进制包含细节(细节)
X=imread('rice.png');%如果是彩色图片要转换为灰度图像,如果本身就是灰度图可以去掉rgb2gray函数
[h w] = size(X);
subplot(3,3,1);
imshow(X,[]);%原图
title('原始图像');
for k=1:8
for i=1:h
for j=1:w
tmp(i,j) = bitget(X(i,j),k);%bitget函数首先将X(i,j)处灰度值分解为二进制串,然后取第k位
end
end
subplot(3,3,k+1);
imshow(tmp,[]);
ind = num2str(k);
imti = ['第',ind,'个位平面'];
title(imti);
end
应用:图像水印
http://www.voidcn.com/article/p-xzmqiaog-nh.html
neighborhood operation
spatial fitering
分类:1.图像平滑(去噪声,但会让图像模糊);2.图像锐化(突出轮廓)。
滤波器 spatial fiter spatial mask window
分类:线性空域滤波器、非线性空域滤波器
如何区分平滑、锐化?
平滑滤波器:系数都大于0,系数之和为1
锐化滤波器:系数有正有负,系数之和为0 =》特殊的:Boost滤波器:系数有正有负,系数之和为1
非线性滤波器
Min Max Median 三种 最小值、最大值、中值滤波器、
即像素点排序,选择哪一个像素点输出?
中值滤波器:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U03G08ph-1678872056129)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210329090049037.png)]
注:区分中值滤波器和中点滤波器-> 中点滤波器midpoint filter输出是max+min /2
应用:中值滤波器擅长处理椒盐噪声,最小值滤波器去白点盐噪声,最大值滤波器去黑点椒噪声
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lO4Q0iJ7-1678872056129)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210329091017386.png)]
例题:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GwxUaijD-1678872056129)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210329091422971.png)]
注意:滤波器不只是3*3的大小,如果噪声的密度很大,可以扩大滤波器的尺寸,但是会让图像变模糊,丢失细节
线性滤波器
分类 :均值滤波器、加权均值滤波器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-O5Bf0Pa5-1678872056129)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210329092819217.png)]
⚠️对应相乘然后累加,注意滤波器算出的数需要四舍五入取整数! 因为是灰度级!!
均值滤波器 :特点 1 每个系数都是正数,2 所有权值相加为1==》擅长去除高斯噪声
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vViA72SN-1678872056129)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210329094122193.png)]
加权均值滤波器:
一般的均值滤波器:
高斯加权均值滤波器:根据高斯分布计算的系数
三种边界处理对图像边界的影响:(注意边界处!)
均值滤波器:
中值滤波器:
加权滤波器:
注意:但数字图像是离散的,不能求导,转化为差值
Sobel 梯度算子
应用:边缘检测
5种锐化输出
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7JTddoW0-1678872056133)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210419091111145.png)]**
1、直接用梯度算子
2、加阈值,原先平滑的部分保留,
3、突出边缘轮廓
4、给背景一个值,去除背景的干扰
5、把图像变成二值图像,常见!
一阶微分算子和二阶微分算子在提取图像细节信息时有何不同?
一阶微分算子产生较粗的边缘
,二阶微分算子处理对细节有较强的响应
,如细线和孤立点。二阶微分有一个过度,即从正回到负。在一幅图像中,该现象表现为双线。
注意:数字图像的坐标系不是笛卡尔坐标系,x轴向下!
Laplacian应用2- LoG算子 先用高斯滤波去噪声,然后用Laplacian算子锐化
处理后图像只有细节和轮廓
Spectrum 频谱 Frequency 频率 Homonorphic Filtering 同态滤波
傅里叶正变换
已知道f xy 求F uv
j是复数
f xy是实数、原先图像的坐标, Fuv是复数、频率
直流分量比其他的成分要大好几个数量级。所以,这也就是傅里叶谱为什么需要使用对数变换才能看清楚的原因。log|fuv|
保持直流(DC)分量,对别的部分进行增幅,可以增强图像的细节。这样的滤波器称为锐化滤波器。
傅里叶逆变换
注:傅里叶的正逆变换的系数乘积为1/MN
傅里叶变换的频谱(幅度)、相位、和模
2维傅里叶变换后的频谱图–是灰度图像
2维图像是灰度图像!彩色图像是3维的!
低频成分(原先图像的亮的部分)代表原先图像灰度变化比较 慢的区域 -》平滑成分
高频成分代表原先图像灰度变化比较 快的区域-》轮廓、细节、噪声
为了方便判断低频、高频 ,进行频谱图移频,看离中心点的距离即可判断
1.如何分辨低频、高频?
画圆,代表截止频率 ;距离近的是低频。距离远的是高频
2.低频高频代表什么含义?
低频 灰度变化比较慢的部分。原先图像的平滑部分
高频 灰度变化比较快的部分 、发生突变的地方如细节、 轮廓、 孤立的噪声
3.频谱图中每一个点的灰度值(即亮度)表示什么?
灰度值大,亮度大,频率成分的幅度大,某一时间出现的数量多
频谱图是模值 log|fuv |
功率谱是频谱图的平方 模值的平方
频谱图有几个特点:
① 中心点是原图整幅图像的平均灰度,频率为0,从图像中心向外,频率增高。即中心对应低频,外围对应高频。
②如果原图中有明显的横纹(竖纹),那么频谱图中就会有鲜明的竖线(横线)。
例:
频谱图中有横线 原图有竖线,频谱图中有竖线,原图有横线(傅里叶变换的性质)
频谱图中亮点代表噪声,因为距离中心的距离相同,所以频率相同,所以周期相同,原图有周期噪声
原图
参考 :https://www.jianshu.com/p/d99dbd691176
https://zhuanlan.zhihu.com/p/99605178?utm_source=qq 通俗易懂
频谱图取的是log |fuv|
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MSse1qMr-1678872056135)(https://gitee.com/typora_picture_bed/picture_bed_2/raw/master/pic1/image-20210426090619182.png)]
f=zeros(50,50);
f(15:35,23:28)=1;
subplot(2,3,1);
imshow(f);
title('原始图像')
g= fft2(f); % 二维傅里叶变换,matlab自带函数
subplot(2,3,2);
imshow(real(g)); % 一般只要实部,虚部是误差,也可以不用real 直接写
title('fft2生成的"频域"图像 不是频谱图!!!');
S=abs(g); %计算的是幅值,绝对值||,即频谱图 !
subplot(2,3,3);
imshow(S)
title('傅里叶频谱')
Fc=fftshift(real(S)); %将零频分量移到频谱中心fftshift
subplot(2,3,4);
imshow(Fc)
title('移频后居中的频谱')
S2=log(1+abs(Fc));%使用对数变换进行视觉增强后的频谱
subplot(2,3,5);
imshow(S2)
title('使用对数变换进行视觉增强后的频谱');
S3=real(ifft2(g));%ifft2 傅里叶逆变换
subplot(2,3,6);
imshow(S3)
title('傅里叶逆变换得到原图像');
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MPQ2jYWI-1678872056135)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210512210900256.png)]
更好的理解请看:
https://zhuanlan.zhihu.com/p/192937271
傅里叶变换后为什么需要归一化 ,即为什么使用mat2gray归一化函数?
https://www.zhihu.com/question/354081645/answer/890215427
平移性质
一个图像平移后,频谱图没有变换,只是系数变了
旋转性质
空域的图像旋转多少角度,频域的频谱图也旋转同样的角度
卷积定理
f xy 图像 g xy滤波器 * 卷积操作
频谱图中
F(0,0)=sum(sum(f))
F uv 是系数 复数
低频成分保留,高频去掉;可以去噪声,对应空域的平滑滤波器
频率滤波的步骤图
G uv 频域滤波后的傅立叶变换系数 也是复数 傅里叶变换系数是复数!
H uv 时滤波器系数
⚠️其中一般D(u,v)=[u^2+ v^2] ^1/2 在matlab中是上面的表达式 M N是中心点坐标
要想滤波的效果好,D0选择更小的值,但图像会更模糊
缺点:理想低通会出现 振铃 ringing effect现象
如何根表达式式判断高通滤波器还是低通滤波器? 看单调性!
并且==低通滤波器+高通滤波器系数为1==
作用:butterworth 低通、高通滤波器:
注意:关键是取实部
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BUb3qL2z-1678872056138)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210512111206972.png)]
A:理想的低通滤波器,可以去燥,D0=1
B:理想的高通滤波器,不能去噪声 排除。
C:转化一下, =1/1+D(u,v)
高通滤波器后图像都很暗?因为f 00 0频率成分 亮度信息没了
改进方法:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-taFOpZHH-1678872056138)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210523125633020.png)]
效果
注意系数A不能太大,发现出现了过曝的成分
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BdxN3NiS-1678872056139)(/Users/fanzhilin/Library/Application Support/typora-user-images/image-20210512114002666.png)]
matlab实现
解:这是高斯型滤波器;4种,最后一种是低通
W为带宽
多了参数W,阶数一般为2阶,太高有振铃现象
不会产生振铃现象!
图像fxy =ixy* rxy ixy 是光照成分,变化比较慢,对应低频成分;rxy是反射成分,变化快
但是ixy rxy不知道 ,通过滤波可以获得
如图的滤波器是高频加强滤波器,可以增强轮廓、细节
ln对数变换:把乘法变加法,方便滤波操作;中间进行频域的变换,反向傅立叶变换后取实部,; exp指数变换:复原
图像降质模型
考虑加性噪声
不同类型噪声的分布
rayleigh 瑞利噪声
erlang 艾尔兰噪声
exponential 指数分布噪声
均匀噪声 uniform noise
impluse noise 脉冲噪声 就是椒盐噪声!
例题:
解:中点滤波器,对去除高斯噪声和均匀噪声(uniform noise)有很好的效果
加了噪声的直方图变化,但是前提原图像的灰度值很少,最好只有一种灰度
不能通过整图直方图判断噪声类型,但可以通过子图的直方图判断!取一个灰度值很少的区域
均值滤波和和中值滤波都可以起到平滑图像,滤去噪声的功能。
**均值滤波采用线性的方法,**平均整个窗口范围内的像素值,均值滤波本身存在着固有的缺陷,即它不能很好地保护图像细节,在图像去噪的同时也破坏了图像的细节部分,从而使图像变得模糊,不能很好地去除噪声点。均值滤波对高斯噪声表现较好,对椒盐噪声表现较差。
中值滤波采用非线性的方法,它在平滑脉冲噪声方面非常有效,同时它可以保护图像尖锐的边缘,选择适当的点来替代污染点的值,所以处理效果好,对椒盐噪声表现较好,对高斯噪声表现较差。
理解:这里的g st 是区域Sxy 中的像素点的值
matlab代码
理解:对邻域矩阵Sxy进行连乘,并且求1/mn次方,mn是邻域矩阵的长宽,就是矩阵中元素的个数
优点:图像细节保留的好,细节可以看边缘、轮廓线
缺点:但是如果某像素点g (st)为0 ,连乘后全为0,=》可以加上一个很小的值,防止这种情况的发生,图像全加1
函数的解释:连乘prod(A) ;求矩阵元素个数numel(A) ; ones(m,n) 生成一个m*n的全1的矩阵
特点:
可以去盐噪声,即白点,不能去除椒噪声,不会去除黑色背景;
可以去除高斯噪声
Eg:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jCimZtO0-1678872058547)(null)]
在黑色背景上有一个5像素宽的白色条纹的二值图像。通过 谐波均值滤波器 空间滤波来消除白色条纹
特点:可以去高斯噪声和椒盐噪声;Q>0只去椒噪声(黑点) ,Q<0 只去盐噪声(白点255)
理解:mn是滤波器的尺寸,也即邻域矩阵的尺寸;d是去掉最值灰度值的个数
为什么要去掉一部分 ?–避免椒盐噪声的影响(最大最小值 类似评委打分)
d=0时 为算数均值滤波器;擅长去除高斯噪声
d=mn-1时 就是一共mn个像素点删掉mn-1个像素点,变成中值滤波器median filter;擅长去除椒盐噪声
=》结合这两个特点 :α修正的均值滤波器适用于椒盐噪声和高斯噪声的混合
matlab中自带的中值滤波函数 g=medfilt2(x0,[n,n])
自己实现
解决的问题:当随机噪声非常密集的时候使用,即去除椒盐噪声,又可以保留细节
自适应中值滤波器有三个目的:1提供其他噪音的平滑 2减少失真 3 去除脉冲噪声impluse noise
概念
解释:
如果a1 >0和a2<0,中值像素点是干净的(不是噪声点),如果是进一步判断当前像素是不是干净的
如果b1>0 和 b2<0 说明当前的像素点zxy 是干净的,返回当前的像素值,保留了细节。
如果不成立,说明a1=0 或a2=0 中值zmed是椒盐噪声点,扩大滤波器尺寸,直到滤波器尺寸达到最大值Smax 最坏情况返回中值zmed
EG
解决问题:保留更多的细节
概念
前提是ρn已知道,但通常ρn 是未知的,需要估计
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t3nJmpPd-1678872056143)(https://gitee.com/typora_picture_bed/picture_bed_2/raw/master/pic2/20210531092119.png)]
低通滤波器只能去只含一种周期的、简单的周期噪声(噪声点在频谱图中是对称的)即效果不好!
对含多种周期噪声的图像不能处理
例题:
分析:图中的周期噪声不止一种,一种周期噪声只会有一种线!!
例题:
噪声点在频谱图中是对称的 并且周期单一的周期噪声;一共有三种一般用高斯带阻滤波器,避免振铃现象??;
解决问题:噪声点在频谱图中不是对称的
陷波滤波器也用于去除周期噪声,虽然带阻滤波器也能可以去除周期噪声,但是带阻滤波器对噪声以外的成分也有衰减。而陷波滤波器主要对某个点进行衰减,对其余的成分不损失。
例子
图像的周期噪声是横线,因此频谱图中竖线代表的是周期噪声,用陷波滤波器去除频谱图中的噪声成分
例子1:
例子2:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9FFO7yUH-1678872056144)(https://gitee.com/typora_picture_bed/picture_bed_2/raw/master/pic2/20210605123150.png)]
看这个文章理解https://blog.csdn.net/zhoufan900428/article/details/17201293
造成图像降质的原因:
估计H uv 退化函数
H uv 退化函数
有造成退化的设备
脉冲图像delta xy 的傅里叶变换的结果是常数
能根据图像判断是由什么造成的
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lMyLtt6r-1678872056145)(https://gitee.com/typora_picture_bed/picture_bed_2/raw/master/pic2/20210607082051.png)]
N uv是噪声 H uv是退化函数
当 H uv 特别小的时候,噪声N uv的影响变大=》所以逆滤波受噪声影响
用到了功率谱 power spectrum 也就是是|Huv|^2
维纳滤波(最小均方误差)通常用于复原图像,在对图像复原过程中要计算噪声功率谱和图像功率谱
例子:
AWGN代表均值为0的高斯噪声 ,就是高斯白噪声
方法1 rgb三个通道分开处理
方法2 对图像增强 、锐化 与色彩无关 转化为 h s i模型 只处理i分类,i是灰度图,
算数均值滤波器
单选 30 简答题20(写英文) 综合50(算法的分析、计算 、算法实现编程题matlab )!
matlab中矩阵的用法,语法
图像增强:空域 时域
图像复原
点处理改变图像的亮度、对比度
直方图均衡化本质也是
平滑滤波器
锐化滤波器
就是求导数 在数字图像用差分 近似表示导数
常见的一阶导数算子 3个!sobel robert prewit
二阶算子 Laplacian
怎么分析频谱?
低通滤波器
三种 理想 Butterworth 高斯低通 的数学表达式
高通滤波器
三种、高频提升滤波器 、高频加强滤波器
带通带阻滤波、同态滤波的过程理解
怎么分析是什么噪声?
空域去噪的方法
频域去噪的方法
采样与量化
采样不够出现马赛克;量化不够出现假轮廓
平滑和锐化
区别:图像锐化用于增强图像边缘,导致高频分量增强,会使图像清晰;
图像平滑用于消除图像噪声,但也容易引起边缘的模糊联系:
都属于图像增强,改善图像效果