zoukankan      html  css  js  c++  java
  • OpenCV2马拉松第12圈——直方图比較

    收入囊中
    • 使用4种不同的方法进行直方图比較

    葵花宝典
    要比較两个直方图, 首先必需要选择一个衡量直方图相似度对照标准。也就是先说明要在哪个方面做对照。
    我们能够想出非常多办法,OpenCV採用了下面4种

    公式也都不难,我们自己就能实现。
    d越小,表示差异越低,两幅图像越接近,越相似

    初识API
    C++: double compareHist(InputArray H1, InputArray H2, int method)
    C++: double compareHist(const SparseMat& H1, const SparseMat& H2, int method)
     
    • H1 – First compared histogram.
    • H2 – Second compared histogram of the same size as H1 .
    • method –

      Comparison method that could be one of the following:

      • CV_COMP_CORREL Correlation
      • CV_COMP_CHISQR Chi-Square
      • CV_COMP_INTERSECT Intersection
      • CV_COMP_BHATTACHARYYA Bhattacharyya distance
      • CV_COMP_HELLINGER Synonym for CV_COMP_BHATTACHARYYA

    荷枪实弹
    #include "opencv2/highgui/highgui.hpp"
    #include "opencv2/imgproc/imgproc.hpp"
    #include <iostream>
    #include <stdio.h>
    
    using namespace std;
    using namespace cv;
    
    int main( int, char** argv )
    {
    	Mat src1,src2,gray1,gray2;
    	src1 = imread(argv[1]);
    	src2 = imread(argv[2]); 
    	cvtColor(src1, gray1, CV_BGR2GRAY);
    	cvtColor(src2, gray2, CV_BGR2GRAY);
    	
    	int histSize = 256;
      	float range[] = { 0, 256 } ;
      	const float* histRange = { range };
     	int channels[] = {0};
     	
     	Mat hist1,hist2;
    	calcHist( &gray1, 1, channels, Mat(), hist1, 1, &histSize, &histRange);
    	calcHist( &gray2, 1, channels, Mat(), hist2, 1, &histSize, &histRange);
    
    	//相关:CV_COMP_CORREL    
    	//卡方:CV_COMP_CHISQR
    	//直方图相交:CV_COMP_INTERSECT
    	//Bhattacharyya距离:CV_COMP_BHATTACHARYYA
    	double diff = compareHist(hist1,hist2,CV_COMP_BHATTACHARYYA);
    	cout << diff << endl;
    }





    举一反三
    这篇直方图比較很easy,没什么要说的了


    计算机视觉讨论群:162501053
    转载请注明:http://blog.csdn.net/abcd1992719g

  • 相关阅读:
    vs2015解决fopen、fscanf 要求替换为fopen_s、fscanf_s的办法
    ThinkPHP5.1的公共函数
    Linux禁止ping
    2019.10.17 上科大虞晶怡教授
    Minimax极大极小算法、Alpha-Beta Pruning剪枝算法
    Apache24服务无法启动,发生服务特定错误1.
    LaTeX小白安装超详细步骤(WIndows系统)||相信我看这个安装就够啦!
    Java中Comparator比较器的使用
    当我看到别人二战想法,退缩的时候,我的感受
    2019.12.3 学英语的心得;学习学习
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/3764299.html
Copyright © 2011-2022 走看看