文章目录
一、直方图均衡化的Matlab实现
1.imhist函数
2.imcontour函数
功能: 创建图像数据的轮廓图
句法:
imcontour(I)
imcontour(I,levels)
imcontour(I,V)
imcontour(x,y,___)
imcontour(___,LineSpec)
[C,h] = imcontour(___)
-imcontour(I)绘制灰度图像的轮廓图I,自动选择级别数和级别值。imcontour自动设置轴,使其方向和纵横比与图像匹配。
I=imread('girl.jpg');
if ndims(I) == 3
I = rgb2gray(I); %如果非灰度图像,则转换为灰度图像
end
imcontour(I);
-imcontour(I,levels) 指定图levels中等距轮廓线级别的数量。
I=imread('girl.jpg');
I = rgb2gray(I);
imcontour(I,3);
-imcontour(I,V) 绘制灰度图像I的等高线图。参量v为向量,其元素表示各条等高线指定高度,等高线数量为v的长度。
imcontour(I,[10 12 15]);%指定高度
-imcontour(…,LineSpec) 使用所指定的线型和颜色绘制轮廓 LineSpec。
imcontour(I,'r'); %使用红色的线进行绘制
-[C,h] = imcontour(…) 将轮廓矩阵C和手柄 返回h到绘制到当前轴上的轮廓块。
[c,h]=imcontour(I);
运行之后就可以看到c、h的值
3.imadjust函数
功能: 调整图像强度值或颜色图全页折叠
语法:
J = imadjust(I)
J = imadjust(I,[low_in high_in])
J = imadjust(I,[low_in high_in],[low_out high_out])
J = imadjust(I,[low_in high_in],[low_out high_out],gamma)
J = imadjust(RGB,[low_in high_in],___)
newmap = imadjust(cmap,[low_in high_in],___)
说明
示例
J = imadjust(I) 将灰度图像 I 中的强度值映射到 J 中的新值。默认情况下,imadjust 对所有像素值中最低的 1% 和最高的 1% 进行饱和处理。此运算可提高输出图像 J 的对比度。
此语法等效于 imadjust(I,stretchlim(I))。
I=imread('girl.jpg');
I = rgb2gray(I);
subplot(121);imshow(I);
J