首页 > 代码库 > matlab实现将彩色图像(R,G,B)色分量的直方图匹配,并计算其相关性
matlab实现将彩色图像(R,G,B)色分量的直方图匹配,并计算其相关性
函数 实现将彩色图像转化为直方图分量向量
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));
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。