opencv-ios开发笔记3 直方图匹配

网上说直方图可以用来给图片进行细节增强和进行模式识别(图片匹配),今天我试了试图片的相似性分析,结果如下:

相似值越小,则认为越类似:

1.0表示图片完全不同

----------------------------------------------------------------------------------------------------------------

0.0表示两张图完全相同大笑

----------------------------------------------------------------------------------------------------------------













对比前并未对图片进行任何处理,感觉直方图进行图片匹配对图片的色彩总量很敏感,对形状轮廓不敏感;但是处理速度快,适合图片快速粗分类。

可以做的前处理包括 直方图匹配变化图像颜色降维,反向映射等。

代码来自 【OpenCV】直方图应用:直方图均衡化,直方图匹配,对比直方图


//根据当前图片 不做处理直接对比
- (IBAction)compareAction:(id)sender {
 
     IplImage *image = [self CreateIplImageFromUIImage:_imgview1.image];
     IplImage *image2 = [self CreateIplImageFromUIImage:_imageView2.image];
    int hist_size=256;
    float range[] = {0,255};
    float* ranges[]={range};
    
    IplImage* gray_plane = cvCreateImage(cvGetSize(image),8,1);
    cvCvtColor(image,gray_plane,CV_BGR2GRAY);
    CvHistogram* gray_hist = cvCreateHist(1,&hist_size,CV_HIST_ARRAY,ranges,1);
    cvCalcHist(&gray_plane,gray_hist,0,0);
    
    
    IplImage* gray_plane2 = cvCreateImage(cvGetSize(image2),8,1);
    cvCvtColor(image2,gray_plane2,CV_BGR2GRAY);
    CvHistogram* gray_hist2 = cvCreateHist(1,&hist_size,CV_HIST_ARRAY,ranges,1);
    cvCalcHist(&gray_plane2,gray_hist2,0,0);
    
    //相关:CV_COMP_CORREL
    //卡方:CV_COMP_CHISQR
    //直方图相交:CV_COMP_INTERSECT
    //Bhattacharyya距离:CV_COMP_BHATTACHARYYA
    double  com=cvCompareHist(gray_hist,gray_hist2,CV_COMP_BHATTACHARYYA);
    _resultLabel.text= [NSString stringWithFormat:@"相似程度:%.2f",com];
}


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值