OpenCV学习之图像的旋转与缩放
2017-08-03 16:54
309 查看
利用公式将图形旋转,缩放。采用CvGetQuadrangleSubPix提取像素四边形,双线性插值,自动变换角度。
//图像的旋转与缩放 #include "cv.h" #include "highgui.h" #include "math.h" int main(int argc, char** argv) { IplImage* src = cvLoadImage("Lena.tif", 1); IplImage* dst = cvCloneImage(src); int delta = 1; int angle = 0; int opt = 1;//1旋转加缩放,0旋转 double factor; cvNamedWindow("src", 1); cvShowImage("src", src); while (1) { 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; //dst = A*src + b cvGetQuadrangleSubPix(src, dst, &M);//双线性插值,提取像素四边形 cvNamedWindow("dst", 1); cvShowImage("dst", dst); if (cvWaitKey(5) == 27) break; angle = (int)(angle + delta) % 360;//自动变换角度 } return 0; }
相关文章推荐
- OpenCV学习第十二篇:带透明通道图像合成(缩放,旋转,和ROI)
- 【OpenCV学习笔记】之六 手写图像旋转函数---万丈高楼平地起
- OpenCV学习——图像的缩放
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- OpenCV_图像旋转与缩放
- OpenCv-python之图像的缩放和旋转
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- OpenCV学习(六)之图像缩放变换
- opencv 图像仿射变换 计算仿射变换后对应特征点的新坐标 图像旋转、缩放、平移
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
- 【OpenCV & Python】图像几何变换:旋转,缩放,平移
- OpenCV学习笔记(6)图像的缩放
- OPENCV 中的图像旋转与缩放
- 学习OpenCV:滤镜系列(5)——径向模糊:缩放&旋转
- 【OpenCV】图像几何变换:旋转,缩放,斜切
- OpenCV2.4.4 图像旋转和缩放
- OpenCV2:图像的几何变换,平移、镜像、缩放、旋转(1)
- opencv3学习笔记(二)图像的截图,旋转与大小的变化
- 学习OpenCV:滤镜系列(5)——径向模糊:缩放&旋转