登 录
#include "highgui.h" #include "cv.h" #include <iostream> #include <iomanip> using namespace std; int main() { IplImage* src = cvLoadImage("lena.jpg"); IplImage* dst = cvCloneImage(src); int delta = 1; int angle = 0; int opt = 1; //1表示旋转加缩放,0表示旋转 double factor; //表示方法系数 cvNamedWindow("src",CV_WINDOW_AUTOSIZE); cvShowImage("src",src); for (; { float m[6]; 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; cvGetQuadrangleSubPix(src,dst,&M); cvNamedWindow("dst",1); cvShowImage("dst",dst); if (cvWaitKey(5) == 'q') { break; } angle = (int)(angle + delta) % 360; } }
抱歉!评论已关闭.