zoukankan      html  css  js  c++  java
  • 灰色直方图图像匹配

    #include "opencv2/highgui/highgui.hpp"  
    #include "opencv/cv.hpp"  
    #include "string.h"
    
    
    //画直方图用  
    int HistogramBins = 256;
    float HistogramRange1[2] = { 0, 255 };
    float *HistogramRange[1] = { &HistogramRange1[0] };
    
    /*
    * imagefile1:
    * imagefile2:
    * method: could be CV_COMP_CHISQR, CV_COMP_BHATTACHARYYA, CV_COMP_CORREL, CV_COMP_INTERSECT
    */
    int CompareHist(const char* imagefile1, const char* imagefile2)
    {
        IplImage *image1 = cvLoadImage(imagefile1, 0);
        IplImage *image2 = cvLoadImage(imagefile2, 0);
    
        CvHistogram *Histogram1 = cvCreateHist(1, &HistogramBins, CV_HIST_ARRAY, HistogramRange);
        CvHistogram *Histogram2 = cvCreateHist(1, &HistogramBins, CV_HIST_ARRAY, HistogramRange);
    
        cvCalcHist(&image1, Histogram1);
        cvCalcHist(&image2, Histogram2);
    
        cvNormalizeHist(Histogram1, 1);
        cvNormalizeHist(Histogram2, 1);
    
        // CV_COMP_CHISQR,CV_COMP_BHATTACHARYYA这两种都可以用来做直方图的比较,值越小,说明图形越相似  
        printf("CV_COMP_CHISQR : %.4f
    ", cvCompareHist(Histogram1, Histogram2, CV_COMP_CHISQR));
        printf("CV_COMP_BHATTACHARYYA : %.4f
    ", cvCompareHist(Histogram1, Histogram2, CV_COMP_BHATTACHARYYA));
    
    
        // CV_COMP_CORREL, CV_COMP_INTERSECT这两种直方图的比较,值越大,说明图形越相似  
        printf("CV_COMP_CORREL : %.4f
    ", cvCompareHist(Histogram1, Histogram2, CV_COMP_CORREL));
        printf("CV_COMP_INTERSECT : %.4f
    ", cvCompareHist(Histogram1, Histogram2, CV_COMP_INTERSECT));
    
        cvReleaseImage(&image1);
        cvReleaseImage(&image2);
        cvReleaseHist(&Histogram1);
        cvReleaseHist(&Histogram2);
        return 0;
    }
    
    int main(int argc, char* argv[])
    {
        char path1[111];
        char path2[111];
        strcpy(path1, "C:\C_C++ code\Photo and video\mulpsq\psq0032.jpg");
        strcpy(path2, "C:\C_C++ code\Photo and video\mulpsq\psq0035.jpg");
        CompareHist(path1,path2);
        //CompareHist("d:\camera.jpg", "d:\camera1.jpg");  
        return 0;
    }
  • 相关阅读:
    Objective-C 在Categroy中创建属性(Property)
    iOS截屏
    iOS简易图片选择器 (图片可多选,仿微信)
    iOS 3D touch 使用技巧
    soap request by afnetworking2.X/3.X
    类似网易新闻 title栏 滚动时 文字放大&变色
    iOS 用collectionview 做的无限图片滚动 广告banner适用
    iOS WebP转换工具
    微博app中常用正则表达式
    python中property(lambda self: object())简单解释
  • 原文地址:https://www.cnblogs.com/mypsq/p/5001524.html
Copyright © 2011-2022 走看看