⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 rotate.cpp

📁 openvc书籍
💻 CPP
字号:
#include "cv.h"#include "highgui.h"#include "math.h"int main( int argc, char** argv ){	IplImage* src;	/* the first command line parameter must be image file name */	if( argc==2 && (src = cvLoadImage(argv[1], -1))!=0)	{		IplImage* dst = cvCloneImage( src );		int  delta = 1;		int  angle = 0;        int opt = 1;   // 1: 旋转加缩放                       // 0:  仅仅旋转        double factor;        cvNamedWindow( "src", 1 );		cvShowImage( "src", src );		for(;;)		{			float m[6];            // Matrix m looks like:            //            // [ m0  m1  m2 ] ===>  [ A11  A12   b1 ]            // [ m3  m4  m5 ]       [ A21  A22   b2 ]            // 			CvMat M = cvMat( 2, 3, CV_32F, m );			int w = src->width;			int h = src->height;			if(opt) // 旋转加缩放                factor = (cos(angle*CV_PI/180.) + 1.05)*2;            else //  仅仅旋转                factor = 1;			m[0] = (float)(factor*cos(-angle*2*CV_PI/180.));			m[1] = (float)(factor*sin(-angle*2*CV_PI/180.));			m[3] = -m[1];			m[4] = m[0];			// 将旋转中心移至图像中间            m[2] = w*0.5f;  			m[5] = h*0.5f;              //  dst(x,y) = A * src(x,y) + b			cvGetQuadrangleSubPix( src, dst, &M);			cvNamedWindow( "dst", 1 );			cvShowImage( "dst", dst );			if( cvWaitKey(5) == 27 )				break;			angle =(int) (angle + delta) % 360;		} // for-loop	}	return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -