大神带你玩转matlab图像处理(四)
- 2020 年 3 月 10 日
- 筆記
第五章:图像增强
5.1 直方图
均衡化:经过均衡化处理的图像,像素占有更多的灰度级并且分布更均匀,这样的图像具有更高的对比度
histeq语法规则:
B=histeq(A)
A:原图像,B:结果图
- clc;clear;s=what;p=s.path;I=imread([p,'图像素材','lena.bmp']);J=histeq(I);subplot(2,2,1);imshow(I);title('原始图像');subplot(2,2,2);imshow(J);title('均衡化图像');subplot(2,2,3);imhist(I);title('原始图像的直方图');subplot(2,2,4);imhist(J);title('均衡化图像的直方图');
运行结果

5.2 灰度变换
对比度调节:将图像中过于集中的像元分布区域(亮度值分布范围)拉开扩展,扩大图像反差的对比度,增强图像表现的层次性。达到增强反差的目的,主要通过调整直方图来实现。
imadjust语法规则
B=imadjust(A,[low_in,high_in],[low_out,high_out])
A:原图像,B:结果图,[low_in,high_in]:为原值范围,[low_out,high_out]:新值输出范围。
clc;clear;s=what;p=s.path;I=imread([p,'图像素材','lena.bmp']);J=imadjust(I,[0,1],[1,0]);subplot(1,2,1);imshow(I);title('原始图像');subplot(1,2,2);imshow(J);title('灰度变换图像');
运行结果

5.3 灰度对数变换
灰度对数变换:对数变换可以拉伸范围较窄的低灰度值,同时压缩范围较宽的高灰度值。可以用来扩展图像中的暗像素值,同时压缩亮像素值
log语法规则
B=log(im2double(A)+1);
A:原图像,B:结果图。
clc;clear;s=what;p=s.path;I=imread([p,'图像素材','lena.bmp']);J=log(im2double(I)+5);subplot(1,2,1);imshow(I);title('原始图像');subplot(1,2,2);imshow(J,[]);title('对数变换图像');
运行结果

5.4 中值滤波
中值滤波是取当前像素点及其周围临近像素点总共奇数个像素点,像这样像素点排序,然后将中间的位置值作为当前像素点的像素值。例如,当前像素点是像素值为78的位置于图像的中间的点,其周围像素点分布如下:

将上述的像素排序后得到:[66,78,90,91,93,94,95,97,101],该序列中处于中心位置(中心点)的值为93,因此用该值93替换掉原来的像素值78作为当前点的新像素值。得到:

medfilt2语法规则
B=medfilt(A)
A:原图像,B:结果图
clc;clear;s=what;p=s.path;I=imread([p,'图像素材','o1.bmp']);J=medfilt2(I);subplot(1,2,1);imshow(I);title('原始图像');subplot(1,2,2);imshow(J);title('中值滤波图像');
运行结果

参考资料:
图片来源:https://en.wikipedia.org/wiki/Lena_Forsén