matlab 自定义直方图匹配_matlab实现将彩色图像(R,G,B)色分量的直方图匹配,并计算其相关性...

该博客介绍了如何使用MATLAB进行彩色图像的直方图匹配。通过`calcrgb2hist.m`函数,分别提取并绘制R、G、B分量的直方图,然后将直方图拼接成向量。在主函数中,使用`corrcoef`计算两个直方图向量的相关性,以评估匹配效果。
摘要由CSDN通过智能技术生成

函数 实现将彩色图像转化为直方图分量向量

calcrgb2hist.m 文件

function hist  = calcrgb2hist(picname)

pic1 = imread(picname);

pic1R = pic1(:,:,1);

pic1G = pic1(:,:,2);

pic1B = pic1(:,:,3);

figure,imshow(pic1R)

title('R分量的图像')

% 二,绘制直方图

[m,n]=size(pic1R);                            %测量图像尺寸参数

rhist=zeros(1,256);                           %预创建存放灰度出现概率的向量

for k=0:255

rhist(k+1)=length(find(pic1R==k))/(m*n);     %计算每级灰度出现的概率,将其存入rhist中相应位置

end

figure,bar(0:255,rhist,'r')                   %绘制直方图

title('R像直方图')

xlabel('灰度值')

ylabel('出现概率')

%%

ghist=zeros(1,256);

for k=0:255

ghist(k+1)=length(find(pic1G==k))/(m*n);

end

figure,bar(0:255,ghist,'g')

title('R像直方图')

xlabel('灰度值')

ylabel('出现概率')

%%

bhist=zeros(1,256);

for k=0:255

bhist(k+1)=length(find(pic1B==k))/(m*n);

end

figure,bar(0:255,bhist,'b')

title('R像直方图')

xlabel('灰度值')

ylabel('出现概率')

hist = [reshape(rhist',1,256),reshape(ghist',1,256),reshape(bhist',1,256)]; %将直方图拼接成 256*3 的向量。

end

下面是执行的主函数

p1= calcrgb2hist('frame22.bmp');

p2= calcrgb2hist('frame22.bmp');

g = corrcoef(p1 ,p2);

fprintf('相关系数为 = %d\n',g(1,2));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值