2006年11月07日 11:49:00
在OPENCV中实现图像旋转,可以采用图像的仿射变换形式,下面给出一个样例程序,说明如何实现图像的旋转与缩放。
#include "cv.h"
#include "highgui.h"
#include "math.h"
int main( int argc, char** argv )
{
IplImage* src=0;
IplImage* dst = 0;
if( argc==2 ) && (src = cvLoadImage(argv[1], -1))!=0)
{
int delta = 1;
int angle = 0;
int opt = 0; // 1:旋转加缩放
// 0: 仅仅旋转
double factor;
dst = cvCloneImage( src );
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;