图像的旋转与缩放
2013-03-05 15:45
155 查看
(一)
简单的模仿了下,运行后的效果是旋转的图片
#include <cv.h>
#include <highgui.h>
#include <math.h>
int main()
{
IplImage *p = 0,*p1 = 0;
if(( p = cvLoadImage("lena.jpg"))!=0)
{
int delta = 1;
int angle = 0;
int opt = 0;//1:旋转加缩放 0:旋转
double factor;
p1 = cvCloneImage(p);
cvNamedWindow("原始",1);
cvShowImage("原始",p);
while (1)
{
float m[6];
CvMat M = cvMat(2,3,CV_32F,m);
int w = p->width;
int h = p->height;
if(opt) 选择旋转缩放的相关事情
factor = (cos (angle*CV_PI/180.0)+1.0)*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;
cvZero(p1);清空p1
cvGetQuadrangleSubPix(p,p1,&M);http://xiangge2009.blog.sohu.com/147112222.html
http://blog.csdn.net/xiaowei_cqu/article/details/7616044
cvNamedWindow("新图",1);
cvShowImage("新图",p1);
if(cvWaitKey(1) == 27) break;
angle = (int) (angle + delta) % 360;
}
}
return 0;
}
简单的模仿了下,运行后的效果是旋转的图片
#include <cv.h>
#include <highgui.h>
#include <math.h>
int main()
{
IplImage *p = 0,*p1 = 0;
if(( p = cvLoadImage("lena.jpg"))!=0)
{
int delta = 1;
int angle = 0;
int opt = 0;//1:旋转加缩放 0:旋转
double factor;
p1 = cvCloneImage(p);
cvNamedWindow("原始",1);
cvShowImage("原始",p);
while (1)
{
float m[6];
CvMat M = cvMat(2,3,CV_32F,m);
int w = p->width;
int h = p->height;
if(opt) 选择旋转缩放的相关事情
factor = (cos (angle*CV_PI/180.0)+1.0)*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;
cvZero(p1);清空p1
cvGetQuadrangleSubPix(p,p1,&M);http://xiangge2009.blog.sohu.com/147112222.html
http://blog.csdn.net/xiaowei_cqu/article/details/7616044
cvNamedWindow("新图",1);
cvShowImage("新图",p1);
if(cvWaitKey(1) == 27) break;
angle = (int) (angle + delta) % 360;
}
}
return 0;
}
相关文章推荐
- PHP图像操作:3D图、缩放、旋转、裁剪、添加水印(三)
- [Android] 使用Matrix矩阵类对图像进行缩放、旋转、对比度、亮度处理
- 【数字图像处理】六.MFC空间几何变换之图像平移、镜像、旋转、缩放具体解释
- Open CV实现图像的旋转,平移,缩放
- SDL游戏开发教程07(图像的旋转和缩放)
- android.graphics.Camera实现图像的旋转、缩放
- PHP图像操作:3D图、缩放、旋转、裁剪、添加水印(二)
- OpenCV-图像几何变换:旋转,缩放,斜切
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
- matlab 图像几何变换 平移、旋转、缩放
- 图像几何变换:旋转,缩放,斜切
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
- PHP图像操作:3D图、缩放、旋转、裁剪、添加水印(三)
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- Python-OpenCv之图像基本处理-平移,缩放,旋转,翻转,裁剪及仿射变换
- android.graphics.Camera实现图像的旋转、缩放
- 【数字图像处理】<纯C++>读取、裁剪、缩放、旋转和存储8位bmp灰度图像
- OpenCV_图像旋转与缩放
- 图像旋转与缩放实现