大神带你玩转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