[JavaScript] C++ GetQuadrangleSubPix 图像旋转 →→→→→进入此内容的聊天室

来自 , 2019-07-15, 写在 JavaScript, 查看 97 次.
URL http://www.code666.cn/view/20568692
  1. #include "cv.h"
  2. #include "highgui.h"
  3. #include "math.h"
  4. #include<stdio.h>
  5. int main( int argc, char** argv )
  6. {
  7. IplImage* src;
  8. /* the first command line parameter must be image file name */
  9. if( (src = cvLoadImage(".\1q.png", -1)))
  10. {
  11.   printf("sdfs");
  12.   IplImage* dst = cvCloneImage( src );
  13.   int  delta = 1;
  14.   int  angle = 0;  
  15.   int opt = 0;  
  16. // 1: 旋转加缩放                    
  17.    // 0:  仅仅旋转      
  18.   double factor;      
  19.   cvNamedWindow( "src", 1 );
  20.   cvShowImage( "src", src );
  21.   for(;;)  
  22. {
  23.   float m[6];        
  24.    // Matrix m looks like:                
  25.   // [ m0  m1  m2 ] ===>  [ A11  A12   b1 ]          
  26.   // [ m3  m4  m5 ]       [ A21  A22   b2 ]        
  27.   //    CvMat M = cvMat( 2, 3, CV_32F, m );
  28.   int w = src->width;
  29.   int h = src->height;
  30.    if(opt) // 旋转加缩放            
  31.     factor = (cos(angle*CV_PI/180.) + 1.05)*2;      
  32.    else //  仅仅旋转            
  33.    factor = 1;
  34.   m[0] = (float)(factor*cos(-angle*2*CV_PI/180.));
  35.   m[1] = (float)(factor*sin(-angle*2*CV_PI/180.));
  36.    m[3] = -m[1];   m[4] = m[0];   // 将旋转中心移至图像中间          
  37.   m[2] = w*0.5f;  
  38.   m[5] = h*0.5f;            
  39.   //  dst(x,y) = A * src(x,y) + b  
  40.  cvGetQuadrangleSubPix( src, dst, &M);
  41.   cvNamedWindow( "dst", 1 );
  42.   cvShowImage( "dst", dst );  
  43.  if( cvWaitKey(85) == 27 )  
  44.   break;  
  45.  angle =(int) (angle /*+ delta*/) % 360;  
  46. } // for-loop
  47.  }
  48.  return 0;
  49. }
  50. //javascript/6834

回复 "C++ GetQuadrangleSubPix 图像旋转"

这儿你可以回复上面这条便签

captcha