如何用histeq函数来增强真彩色图像的对比度

使用直方图均衡化函数(histeq)、图像调整函数(imadjust)和自适应直方图均衡化函数(adapthisteq),编写用于增强真彩色图像对比度的程序,显示图像对比度增强效果

这就是所以问题..感激大大们解决啊

貌似只能通过灰度图来展示吧,除非你不显示直方图。因为你要用imhist就只能用灰度图。给你段我自己编的程序自己试试,把图片换成你自己的。
这是imadjust的,让图片亮度变暗。
I=imread('d:\sea.jpg');
I=rgb2gray(I);
J=imadjust(I,[],[0 0.5]);
%通过修改highout
K=imadjust(I,[],[],2);
%通过修改r(描述I,J关系曲线形状)
subplot(231),imshow(I);
subplot(232),imshow(J);
subplot(233),imshow(K);
subplot(234),imhist(I,64);
subplot(235),imhist(J,64);
subplot(236),imhist(K,64);
这是直方图均衡化的。
%直方图均衡化,令对比度自适应直方图均衡化
I=imread('d:\star.jpg');
I=rgb2gray(I);
J=adapthisteq(I);
subplot(221),imshow(I)
title('原图');
subplot(222),imshow(J)
title('直方图均衡化后的结果')
subplot(223),imhist(I,64)
title('原图的直方图');
subplot(224),imhist(J,64)
title('直方图均衡化后的结果的直方图');
直方图均衡化应该找那种不是很清楚的,最好是比较暗的图片,能让灰度值提高后把那些不清楚的地方显示出来。
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-09-06
这个只能通过灰度图来展示吧,除非你不显示直方图。因为你要用imhist就只能用灰度图。给你段我自己编的程序自己试试,把图片换成你自己的。
这是imadjust的,让图片亮度变暗。
I=imread('d:\sea.jpg');
I=rgb2gray(I);
J=imadjust(I,[],[0 0.5]);
%通过修改highout
K=imadjust(I,[],[],2);
%通过修改r(描述I,J关系曲线形状)
subplot(231),imshow(I);
subplot(232),imshow(J);
subplot(233),imshow(K);
subplot(234),imhist(I,64);
subplot(235),imhist(J,64);
subplot(236),imhist(K,64);
这是直方图均衡化的。
%直方图均衡化,令对比度自适应直方图均衡化
I=imread('d:\star.jpg');
I=rgb2gray(I);
J=adapthisteq(I);
subplot(221),imshow(I)
title('原图');
subplot(222),imshow(J)
title('直方图均衡化后的结果')
subplot(223),imhist(I,64)
title('原图的直方图');
subplot(224),imhist(J,64)
title('直方图均衡化后的结果的直方图');
直方图均衡化应该找那种不是很清楚的,最好是比较暗的图片,能让灰度值提高后把那些不清楚的地方显示出来。这样就可以了
相似回答
大家正在搜