MATLAB——直方图操作

直方图均衡化

代码:

I=dicomread('img');%img为输入的图像文件
[h]=imhist(I);
I1=histeq(I,256);
[h1]=imhist(I1);
subplot(2,2,1),imshow(I),title('orginal');
subplot(2,2,2),bar(h,20,'c'),title('原始图的直方图');
subplot(2,2,3),imshow(I1),title('直方图均衡化');
subplot(2,2,4),bar(h1,20,'c'),title('均衡化后的直方图');

结构显示:
MATLAB——直方图操作_第1张图片
画图函数bar()详解

直方图匹配

代码:

Imatch=imread('office_4.jpg');
I_out=imhistmatch(I,Imatch(:,:,1));%直方图匹配
subplot(3,2,1),imshow(I),title('orginal');
subplot(3,2,2),imhist(I),title('原始图的直方图');
subplot(3,2,3),imshow(Imatch(:,:,1)),title('匹配图');
subplot(3,2,4),imhist(Imatch(:,:,1)),title('匹配图的直方图');
subplot(3,2,5),imshow(I_out),title('直方图匹配');
subplot(3,2,6),imhist(I_out),title('匹配后的直方图');

结果显示:
MATLAB——直方图操作_第2张图片
参考资源:直方图匹配详细

局部直方图操作

代码:

img=imread('ch3.bmp');
I1=imresize(img,[510 510]);
[m,n]=size(I1);
%对图片进行3*3领域的局部直方图操作
for i=1:3:m
    for j=1:3:n
        zz(i:i+3-1,j:j+3-1)=histeq(I1(i:i+3-1,j:j+3-1));
    end
end
subplot(2,2,1),imshow(I1),title('原图');
subplot(2,2,2),imhist(I1),title('原图的直方图');
subplot(2,2,3),imshow(zz),title('局部直方图的均衡化');
subplot(2,2,4),imhist(zz),title('局部直方图均衡化之后的直方图');

结构显示:
MATLAB——直方图操作_第3张图片
学习资源:理论讲解

学习资源汇总

画图函数bar()详解
直方图匹配
局部直方图均衡化

你可能感兴趣的:(matlab操作,matlab,图像处理)