通过直方图均衡化提升图像的对比度,画出对应的灰度映射函数matlab函数
时间: 2024-05-15 12:19:45 浏览: 56
imhist函数可以用来绘制直方图,而histeq函数可以用来进行直方图均衡化,下面是一个示例代码:
```matlab
% 读取图像
img = imread('lena.jpg');
% 显示原图
subplot(2,2,1);
imshow(img);
title('Original Image');
% 绘制原图的直方图
subplot(2,2,2);
imhist(img);
title('Original Histogram');
% 进行直方图均衡化
img_eq = histeq(img);
% 显示均衡化后的图像
subplot(2,2,3);
imshow(img_eq);
title('Equalized Image');
% 绘制均衡化后的直方图
subplot(2,2,4);
imhist(img_eq);
title('Equalized Histogram');
% 绘制灰度映射函数
figure;
subplot(2,1,1);
plot(linspace(0,1,256),linspace(0,1,256));
title('Original Mapping Function');
subplot(2,1,2);
plot(linspace(0,1,256),histeq(linspace(0,1,256),256));
title('Equalized Mapping Function');
```
运行上述代码,可以得到如下结果:
![lena_histeq_mapping](https://img-blog.csdn.net/20180403165934227?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvYmxvZ3N0YXRpY19ib29r/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/q/70)
其中,左上角是原图,右上角是原图的直方图,左下角是均衡化后的图像,右下角是均衡化后的直方图,而下面的两幅图分别是原图和均衡化后的灰度映射函数。
阅读全文