資源簡介
該壓縮包包含編譯方式,示例代碼,只需拍兩張圖片即可比較,比較打印輸出值小于10,即為相似圖片。使用改代碼的用戶linux系統必須先安裝opencv環境.

代碼片段和文件信息
//?similarity.cpp?:?定義控制臺應用程序的入口點。
//
//#include?“stdafx.h“
#include?
#include?
#include?
#include?
#pragma?comment(lib“opencv_core2410d.lib“)??????????
#pragma?comment(lib“opencv_highgui2410d.lib“)??????????
#pragma?comment(lib“opencv_imgproc2410d.lib“)????
using?namespace?std;
int?main(int?argc?char*?argv[])
{
????string?strSrcImageName1?=?“pos11.jpg“;
????string?strSrcImageName2?=?“pos12.jpg“;
????cv::Mat?matSrc?matSrc1?matSrc2;
????//matSrc?=?cv::imread(strSrcImageName?CV_LOAD_IMAGE_COLOR);
????//CV_Assert(matSrc.channels()?==?3);
matSrc1?=?cv::imread(strSrcImageName1?CV_LOAD_IMAGE_COLOR);
????if?(matSrc1.empty())
????{
????????cout<<“read?failed“<????????return?-1;
????}
matSrc2?=?cv::imread(strSrcImageName2?CV_LOAD_IMAGE_COLOR);
????if?(matSrc2.empty())
????{
????????cout<<“read?failed“<????????return?-1;
????}
????cv::Mat?matDst1?matDst2;
????cv::cvtColor(matSrc1?matDst1?CV_BGR2GRAY);
????cv::cvtColor(matSrc2?matDst2?CV_BGR2GRAY);
????int?iAvg1?=?0?iAvg2?=?0;
????int?arr1[64]?arr2[64];
????for?(int?i?=?0;?i?8;?i++)
????{
????????uchar*?data1?=?matDst1.ptr(i);
????????uchar*?data2?=?matDst2.ptr(i);
????????int?tmp?=?i?*?8;
????????for?(int?j?=?0;?j?8;?j++)?
????????{
????????????int?tmp1?=?tmp?+?j;
????????????arr1[tmp1]?=?data1[j]?/?4?*?4;
????????????arr2[tmp1]?=?data2[j]?/?4?*?4;
????????????iAvg1?+=?arr1[tmp1];
????????????iAvg2?+=?arr2[tmp1];
????????}
????}
????iAvg1?/=?64;
????iAvg2?/=?64;
????for?(int?i?=?0;?i?64;?i++)?
????{
????????arr1[i]?=?(arr1[i]?>=?iAvg1)???1?:?0;
????????arr2[i]?=?(arr2[i]?>=?iAvg2)???1?:?0;
????}
????int?iDiffNum?=?0;
????for?(int?i?=?0;?i?64;?i++)
????????if?(arr1[i]?!=?arr2[i])
????????????++iDiffNum;
????cout<<“iDiffNum?=?“<
????if?(iDiffNum?<=?5)
????????cout<<“two?images?are?very?similar!“< ????else?if?(iDiffNum?>?10)
????????cout<<“they?are?two?different?images!“< ????else
????????cout<<“two?image?are?somewhat?similar!“<
???//?getchar();
????return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????277??2017-08-21?18:44??similarity\build_all.sh
?????文件??????72794??2017-08-21?18:41??similarity\similarity
?????文件??????84883??2017-08-21?18:19??similarity\pos1.jpg
?????文件???????2241??2017-08-21?18:41??similarity\similarity.cpp
?????文件??????84883??2017-08-21?18:19??similarity\pos2.jpg
?????文件??????82773??2017-08-21?18:40??similarity\pos11.jpg
?????文件??????82632??2017-08-21?18:20??similarity\pos22.jpg
?????文件??????82427??2017-08-21?18:40??similarity\pos12.jpg
?????目錄??????????0??2017-08-21?18:44??similarity
-----------?---------??----------?-----??----
???????????????492910????????????????????9
評論
共有 條評論