HU不變矩OPENCV計算方法

HU不變矩OPENCV計算方法  

#include "cv.h"
#include "highgui.h" 
#include <iostream>
using namespace std;

IplImage* oriImg;
IplImage* grayImg;

int Img2Gray(void)
{
   

    if((oriImg = cvLoadImage("E://1.BMP", 1)) != 0   )

         
   { grayImg = cvCreateImage(cvSize(oriImg->width,oriImg->height),IPL_DEPTH_8U,1);

         cvCvtColor(oriImg,grayImg,CV_BGR2GRAY);

         return 1;}

return 0;

}

 


int main( int argc, char** argv )
{
 int succees = 0;
 succees = Img2Gray();
 if(succees)
   {
   CvMoments moments;
   CvHuMoments hu;
   cvMoments(grayImg,&moments,0); 
   cvGetHuMoments(&moments, &hu);
   cvNamedWindow( "Image", 1 );
   cvShowImage( "Image", grayImg );
   printf("%e\n%e\n%e\n%e\n%e\n%e\n%e\n",hu.hu1,hu.hu2,hu.hu3,hu.hu4,hu.hu5,hu.hu6,hu.hu7);
   cvWaitKey(0); 
   cvReleaseImage( &oriImg );
   cvReleaseImage( &grayImg );
   cvDestroyWindow( "Image" ); 
 }
 return 0;
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章