matlab实现将彩色图像(R,G,B)色分量的直方图匹配,并计算其相关性
2016-10-04 16:43
1506 查看
转自http://blog.csdn.net/Eagleest/article/details/34849947
函数 实现将彩色图像转化为直方图分量向量
[html] view
plain copy
calcrgb2hist.m 文件
[plain] view
plain copy
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('G像直方图')
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('B像直方图')
xlabel('灰度值')
ylabel('出现概率')
hist = [reshape(rhist',1,256),reshape(ghist',1,256),reshape(bhist',1,256)]; %将直方图拼接成 256*3 的向量。
end
下面是执行的主函数
[plain] view
plain copy
p1= calcrgb2hist('frame22.bmp');
p2= calcrgb2hist('frame22.bmp');
g = corrcoef(p1 ,p2);
fprintf('相关系数为 = %d\n',g(1,2));
函数 实现将彩色图像转化为直方图分量向量
[html] view
plain copy
calcrgb2hist.m 文件
[plain] view
plain copy
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('G像直方图')
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('B像直方图')
xlabel('灰度值')
ylabel('出现概率')
hist = [reshape(rhist',1,256),reshape(ghist',1,256),reshape(bhist',1,256)]; %将直方图拼接成 256*3 的向量。
end
下面是执行的主函数
[plain] view
plain copy
p1= calcrgb2hist('frame22.bmp');
p2= calcrgb2hist('frame22.bmp');
g = corrcoef(p1 ,p2);
fprintf('相关系数为 = %d\n',g(1,2));
相关文章推荐
- matlab实现将彩色图像(R,G,B)色分量的直方图匹配,并计算其相关性
- matlab实现将彩色图像(R,G,B)色分量的直方图匹配,并计算其相关性
- matlab实现将彩色图像(R,G,B)色分量的直方图显示出
- 练习:利用颜色直方图匹配算法实现图像中目标的识别
- 基于matlab实现图像的直方图均衡
- C++使用opencv实现彩色直方图计算
- VTK修炼之道29:图像统计_彩色直方图计算
- 彩色图像直方图均衡化及颜色直方图显示 opencv实现 完整代码及详细注释
- Matlab模板匹配实现图像运动估计(频域实现)
- 计算图像的梯度及梯度直方图相似度(Matlab代码)
- OpenCV之imgproc 模块. 图像处理(4)直方图均衡化 直方图计算 直方图对比 反向投影 模板匹配
- matlab实现将彩色图像转换成灰色图像的方法
- 使用Matlab绘制图像的rgb颜色空间和Lab颜色空间分量图和分量直方图
- 图像相似度计算之直方图方法OpenCV实现
- 基于陆地移动距离(EMD)的彩色图像直方图距离计算
- 用Matlab绘彩色图像的直方图
- 计算彩色的BGR图像的直方图
- 全局块匹配法计算图像旋转以及实现程序
- opencv基于直方图实现图像检索匹配
- 图像相似度计算之直方图方法OpenCV实现