資源簡介
此代碼為常規(guī)特征圖像檢索核心代碼(c++),基于opencv,包括均勻hash,感知hash,顏色直方圖,希望對你有一定幫助。

代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
#include?
#include?
using?namespace?std;
using?namespace?cv;
#define?hashLength?64
//?計算8*8圖像的平均灰度
float?calcAverage(Mat_?image?const?int?&size){
float?sum?=?0;
for(int?i?=?0?;?i? for(int?j?=?0;?j? sum?+=?image(i?j);
}
}
return?sum/(size*size);
}
/*?計算hash值
image:8*8的灰度圖像
size:?圖像大小??8*8
ahahs:存放64位hash值
averagePix:?灰度值的平均值
*/
void?fingerPrint(Mat_?image?const?int?&size?bitset?&ahash?const?float?&averagePix){
for(int?i?=?0;?i? int?pos?=?i?*?size;
for(int?j?=?0;?j? ahash[pos+j]?=?image(i?j)?>=?averagePix???1:0;
}
}
}
/*計算漢明距離*/
int?hammingDistance(const?bitset?&query?const?bitset?&target){
int?distance?=?0;
for(int?i?=?0;?i? distance?+=?(query[i]?==?target[i]???0?:?1);
}
return?distance;
}
string?bitTohex(const?bitset?&target){
string?str;
for(int?i?=?0;?i? int?sum?=?0;
string?s;
sum?+=?target[i]?+?(target[i+1]<<1)?+?(target[i+2]<<2)?+?(target[i+3]<<3);
stringstream?ss;
ss?< ss?>>?s;
str?+=?s;
}
return?str;
}
int?main(){
Mat?img?=?imread(“E:\\algorithmZack\\ImageSearch\\image\\person.jpg“?1);
if(!img.data){
cout?<“the?image?is?not?exist“?< return?0;
}
int?size?=?8;??//?圖片縮放后大小
resize(img?img?Size(sizesize));??????//?縮放到8*8
cvtColor(img?img?COLOR_BGR2GRAY);???????//?灰度化
float?averagePix?=?calcAverage(img?size);????//?計算灰度化的均值
//cout?< bitset?ahash;???????????????
fingerPrint(img?size?ahash?averagePix);????//?得到均值hash
//cout?< cout?<
string?img_dir?=?“E:\\algorithmZack\\ImageSearch\\image\\“;
for(int?i?=?1;?i?<=?8;?i++){
string?pos;
stringstream?ss;
ss?< ss?>>?pos;
string?img_name?=?img_dir?+?“person“?+?pos?+“.jpg“;?
Mat?target?=?imread(img_name?1);
if(!target.data){
cout?<“the?target?image“?< continue;
}
resize(target?target?Size(sizesize));
cvtColor(target?target?COLOR_BGR2GRAY);
float?averagePix2?=?calcAverage(target?size);
bitset?ahash2;
fingerPrint(target?size?ahash2?averagePix2);
//cout?< int?distance?=?hammingDistance(ahash?ahash2);??????//?計算漢明距離
cout?<<“【“?< }
cout?< return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????69007??2012-11-24?23:37??ImageSearch\image\person.jpg
?????文件??????69007??2012-11-24?23:37??ImageSearch\image\person0.jpg
?????文件???????2143??2012-11-24?23:37??ImageSearch\image\person1.jpg
?????文件??????71474??2015-05-17?10:25??ImageSearch\image\person10.jpg
?????文件??????70540??2015-05-17?10:25??ImageSearch\image\person11.jpg
?????文件??????48576??2015-05-17?22:37??ImageSearch\image\person12.jpg
?????文件??????80161??2015-05-17?22:37??ImageSearch\image\person13.jpg
?????文件??????19396??2015-05-17?22:37??ImageSearch\image\person14.jpg
?????文件??????92232??2015-05-17?22:38??ImageSearch\image\person15.jpg
?????文件??????44889??2015-05-17?22:39??ImageSearch\image\person16.jpg
?????文件??????20810??2015-05-17?22:39??ImageSearch\image\person17.jpg
?????文件?????165284??2015-05-17?22:40??ImageSearch\image\person18.jpg
?????文件??????40184??2015-05-17?22:40??ImageSearch\image\person19.jpg
?????文件??????24294??2015-04-17?20:35??ImageSearch\image\person2.jpg
?????文件???????1847??2012-11-24?23:37??ImageSearch\image\person3.jpg
?????文件???????1143??2012-11-24?23:37??ImageSearch\image\person4.jpg
?????文件??????11408??2015-04-17?20:36??ImageSearch\image\person5.jpg
?????文件??????71220??2015-04-17?20:36??ImageSearch\image\person6.jpg
?????文件??????47657??2011-09-15?14:10??ImageSearch\image\person7.jpg
?????文件??????10474??2015-04-15?15:42??ImageSearch\image\person8.jpg
?????文件??????69478??2015-05-17?10:25??ImageSearch\image\person9.jpg
?????文件???????2799??2015-04-17?20:37??ImageSearch\ImageSearch\averageHash.cpp
?????文件???????3004??2015-05-17?22:48??ImageSearch\ImageSearch\coloHistogram2.cpp
?????文件???????3221??2015-05-17?22:50??ImageSearch\ImageSearch\colorHistgoram.cpp
?????文件???????5051??2015-05-17?22:47??ImageSearch\ImageSearch\ImageSearch.vcxproj
?????文件???????1243??2015-05-17?18:57??ImageSearch\ImageSearch\ImageSearch.vcxproj.filters
?????文件????????143??2015-04-17?12:19??ImageSearch\ImageSearch\ImageSearch.vcxproj.user
?????文件???????4689??2015-05-17?22:08??ImageSearch\ImageSearch\perceptualHash.cpp
?????文件???19746816??2015-05-17?22:54??ImageSearch\ImageSearch.sdf
?????文件????????900??2015-04-17?12:19??ImageSearch\ImageSearch.sln
............此處省略10個文件信息
評論
共有 條評論