如何将opencv的mat图像以opengl的方式进行放大缩小
1个回答
2016-03-01
展开全部
首先用cvWarpAffine实验将图像逆时针旋转degree角度。
//逆时针旋转图像degree角度(原尺寸)
void rotateImage(IplImage* img, IplImage *img_rotate,int degree)
{
//旋转中心为图像中心
CvPoint2D32f center;
center.x=float (img->width/2.0+0.5);
center.y=float (img->height/2.0+0.5);
//计算二维旋转的仿射变换矩阵
float m[6];
CvMat M = cvMat( 2, 3, CV_32F, m );
cv2DRotationMatrix( center, degree,1, &M);
//变换图像,并用黑色填充其余值
cvWarpAffine(img,img_rotate, &M,CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS,cvScalarAll(0) );
}
//逆时针旋转图像degree角度(原尺寸)
void rotateImage(IplImage* img, IplImage *img_rotate,int degree)
{
//旋转中心为图像中心
CvPoint2D32f center;
center.x=float (img->width/2.0+0.5);
center.y=float (img->height/2.0+0.5);
//计算二维旋转的仿射变换矩阵
float m[6];
CvMat M = cvMat( 2, 3, CV_32F, m );
cv2DRotationMatrix( center, degree,1, &M);
//变换图像,并用黑色填充其余值
cvWarpAffine(img,img_rotate, &M,CV_INTER_LINEAR+CV_WARP_FILL_OUTLIERS,cvScalarAll(0) );
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询