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

来源:http://blog.csdn.net/eagleest/article/details/34849947


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

[html]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. calcrgb2hist.m 文件  

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. function hist  = calcrgb2hist(picname)  
  2. pic1 = imread(picname);  
  3. pic1R = pic1(:,:,1);  
  4. pic1G = pic1(:,:,2);  
  5. pic1B = pic1(:,:,3);  
  6.   
  7.   
  8. figure,imshow(pic1R)                   
  9. title('R分量的图像')  
  10.   
  11.   
  12. % 二,绘制直方图  
  13. [m,n]=size(pic1R);                            %测量图像尺寸参数  
  14. rhist=zeros(1,256);                           %预创建存放灰度出现概率的向量  
  15. for k=0:255      
  16.     rhist(k+1)=length(find(pic1R==k))/(m*n);     %计算每级灰度出现的概率,将其存入rhist中相应位置  
  17. end  
  18. figure,bar(0:255,rhist,'r')                   %绘制直方图   
  19. title('R像直方图')  
  20. xlabel('灰度值')  
  21. ylabel('出现概率')  
  22. %%  
  23. ghist=zeros(1,256);   
  24. for k=0:255      
  25.     ghist(k+1)=length(find(pic1G==k))/(m*n);       
  26. end  
  27. figure,bar(0:255,ghist,'g')                  
  28. title('R像直方图')  
  29. xlabel('灰度值')  
  30. ylabel('出现概率')  
  31.   
  32.   
  33. %%  
  34. bhist=zeros(1,256);   
  35. for k=0:255      
  36.     bhist(k+1)=length(find(pic1B==k))/(m*n);      
  37. end  
  38. figure,bar(0:255,bhist,'b')                   
  39. title('R像直方图')  
  40. xlabel('灰度值')  
  41. ylabel('出现概率')  
  42. hist = [reshape(rhist',1,256),reshape(ghist',1,256),reshape(bhist',1,256)]; %将直方图拼接成 256*3 的向量。  
  43. end  


下面是执行的主函数

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. p1= calcrgb2hist('frame22.bmp');  
  2. p2= calcrgb2hist('frame22.bmp');  
  3. g = corrcoef(p1 ,p2);  
  4. fprintf('相关系数为 = %d\n',g(1,2));  

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值