91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 6KB
    文件類型: .cpp
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-06-15
  • 語言: C/C++
  • 標簽: Hu矩??圖像分類??

資源簡介

基于圖像Hu不變矩及圖像的歐氏距離對二值圖像進行分類

資源截圖

代碼片段和文件信息

#include
#include
#include
#include
#include
#include??//itoa
#pragma?comment(lib“cv.lib“)?
#pragma?comment(lib“highgui.lib“)?



void?gethuju(char?*?filenamedouble?*Huju)//Huju[7]為hu不變距
{
IplImage?*myimg;

myimg?=?cvLoadImage(filename0);///////////////
double?M[4][4];
double?u00u20u02u11u12u21u30u03;//歸一化中心距
int?ijxy;
double?x0y0;//x0,y0圖像質(zhì)心

for(i=0;i<4;i++)
for(j=0;j<4;j++)
{
M[i][j]=0;
if(i+j<4)
{
for(x=0;xwidth;x++)
for(y=0;yheight;y++)
M[i][j]=M[i][j]+((unsigned?char*)(myimg->imageData?+?myimg->widthStep*y))[x]*pow((x+1)i)*pow((y+1)j);//計算M

}
}



x0=M[1][0]/M[0][0];
y0=M[0][1]/M[0][0];

u00=M[0][0];
u20=(M[2][0]-x0*M[1][0])/pow(u002);
u02=(M[0][2]-y0*M[0][1])/pow(u002);
u11=(M[1][1]-x0*M[0][1])/pow(u002);
u21=(M[2][1]-2*x0*M[1][1]-y0*M[2][0]+2*x0*x0*M[0][1])/pow(u002.5);
u12=(M[1][2]-2*y0*M[1][1]-x0*M[0][2]+2*y0*y0*M[1][0])/pow(u002.5);
u30=(M[3][0]-3*x0*M[2][0]+2*x0*x0*M[1][0])/pow(u002.5);
u03=(M[0][3]-3*y0*M[0][2]+2*y0*y0*M[0][1])/pow(u002.5);

Huju[0]=u20+u02;
Huju[1]=(u20-u02)*(u20-u02)+4*u11*u11;
Huju[2]=(u30-3*u12)*(u30-3*u12)+(3*u21-u03)*(3*u21-u03);
Huju[3]=(u30+u12)*(u30+u12)+(u21+u03)*(u21+u03);
Huju[4]=(u30-3*u12)*(u30+u12)*((u30+u12)*(u30+u12)-3*(u21+u03)*(u21+u03))+(3*u21-u03)*(u21+u03)*(3*(u30+u12)*(u30+u12)-(u21+u03)*(u21+u03));
Huju[5]=(u20-u02)*((u30+u12)*(u30+u12)-(u21+u03)*(u21+u03))+4*u11*(u30+u12)*(u21+u03);
Huju[6]=(3*u21-u03)*(u30+u12)*((u30+u12)*(u30+u12)-3*(u21+u03)*(u21+u03))+(3*u12-u30)*(u21+u03)*(3*(u30+u12)*(u30+u12)-(u21+u03)*(u21+u03));


}
void?main(void)
{

char?bmp[5]=“.bmp“filename1[20]=“bat“filename2[20]=“flatfish“filename3[20]=“hammer“filename4[20]=“key“filename[20];
????int?ij;
???char?str[3];
???double?Huju[7];
???double?bat0[7]flatfish0[7]hammer0[7]key0[7];//基準hu距
???double?juli1juli2juli3juli4;

???gethuju(“bat0.bmp“bat0);
???gethuju(“flatfish0.bmp“flatfish0);
???gethuju(“hammer0.bmp“hammer0);
???gethuju(“key0.bmp“key0);
for(i=0;i<7;i++)
cout<???for(i=1;i<11;i++)
{
???for(j=0;j<20;j++)
filename[j]=filename1[j];
????itoa(istr10);
strcat(filenamestr);
strcat(filenamebmp);
// cout< gethuju(filenameHuju);
juli1=0;//初始化
juli2=0;
juli3=0;
juli4=0;
for(j=0;j<7;j++)
{
juli1=juli1+(bat0[j]-Huju[j])*(bat0[j]-Huju[j]);//
juli2=juli2+(flatfish0[j]-Huju[j])*(flatfish0[j]-Huju[j]);
juli3=juli3+(hammer0[j]-Huju[j])*(hammer0[j]-Huju[j]);
juli4=juli4+(key0[j]-Huju[j])*(key0[j]-Huju[j]);
}
if?(juli1 cout<<“bat“< else?if?(juli2<

評論

共有 條評論

相關(guān)資源