Opencv下如何旋转图形?

runnel04 2012-06-25 11:51:54
IplImage* img;
cvLoadImage(/**/,img);
给写个旋转30°的例子吧!
...全文
206 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
MTXING 2013-05-31
  • 打赏
  • 举报
回复
二楼正解,3Q~
sdjuanzi 2013-05-11
  • 打赏
  • 举报
回复
请问你知道用哪个函数旋转了吗?我也想知道
赵4老师 2012-06-25
  • 打赏
  • 举报
回复
C:\Program Files\OpenCV\modules\gpu\src\imgproc_gpu.cpp
59: void cv::gpu::rotate(const GpuMat&, GpuMat&, Size, double, double, double, int, Stream&) { throw_nogpu(); }
510: void cv::gpu::rotate(const GpuMat& src, GpuMat& dst, Size dsize, double angle, double xShift, double yShift, int interpolation, Stream& s)
libralibra 2012-06-25
  • 打赏
  • 举报
回复
Mat rotateImage(const Mat& source, double angle)
{
Point2f src_center(source.cols/2.0F, source.rows/2.0F);
Mat rot_mat = getRotationMatrix2D(src_center, angle, 1.0);
Mat dst;
warpAffine(source, dst, rot_mat, source.size());
return dst;
}

angle 是角度不是弧度
victory06057231 2012-06-25
  • 打赏
  • 举报
回复

//图像旋转,angle是角度
IplImage* FitRotate (IplImage* Img_old, double angle)
{

IplImage* Img_tmp = NULL;

double anglerad = (CV_PI* (angle/180)) ;
int newheight =int (fabs(( sin(anglerad)*Img_old->width )) + fabs(( cos(anglerad)*Img_old->height )) );
int newwidth =int (fabs(( sin(anglerad)*Img_old->height)) + fabs(( cos(anglerad)*Img_old->width)) );

Img_tmp = cvCreateImage(cvSize(newwidth,newheight), IPL_DEPTH_8U, 3);
cvFillImage(Img_tmp,0);//目的图像 使用扩展的大小

IplImage* dst = cvCloneImage( Img_old );//目的图像 与原图像等大

float m[6];
CvMat M = cvMat( 2, 3, CV_32F, m );
int w = Img_old->width;
int h = Img_old->height;

m[0] = (float)(cos(angle*CV_PI/180.));
m[1] = (float)(sin(angle*CV_PI/180.));
m[2] = w*0.5f;
m[3] = -m[1];
m[4] = m[0];
m[5] = h*0.5f;

cvGetQuadrangleSubPix( Img_old, dst, &M);
cvGetQuadrangleSubPix( Img_old, Img_tmp, &M);
return Img_tmp;
}
学习opencv(中文版) 清华大学出版社 出版前言 译者序 写在前面的话 前言 第1章 概述 什么是OpenCV OpenCV的应用领域 什么是计算机视觉 OpenCV的起源 下载和安装OpenCV 通过SVN获取最新的OpenCV代码 更多OpenCV文档 OpenCV的结构和内容 移植性 练习 第2章 OpenCV入门 开始准备 初试牛刀—— 显示图像 第二个程序—— 播放AVI视频 视频播放控制 一个简单的变换 一个复杂一点的变换 从摄像机读入数据 写入AVI视频文件 小结 练习 第3章 初探OpenCV OpenCV的基本数据类型 CvMat矩阵结构 IplImage数据结构 矩阵和图像操作 绘图 数据存储 集成性能基元 小结 练习 第4章 细说HighGUI 一个可移植的图形工具包 创建窗口 载入图像 显示图像 视频的处理 ConvertImage函数 练习 第5章 图像处理 综述 平滑处理 图像形态学 漫水填充算法 尺寸调整 图像金字塔 阈值化 练习 第6章 图像变换 概述 卷积 梯度和Sobel导数 拉普拉斯变换 Canny算子 霍夫变换 重映射 拉伸、收缩、扭曲和旋转 CartToPolar与PolarToCart LogPolar 离散傅里叶变换(DFT) 离散余弦变换(DCT) 积分图像 距离变换 直方图均衡化 练习 第7章 直方图与匹配 直方图的基本数据结构 访问直方图 直方图的基本操作 一些更复杂的策略 练习 第8章 轮廓 内存 序列 查找轮廓 Freeman链码 轮廓例子 另一个轮廓例子 深入分析轮廓 轮廓的匹配 练习 第9章 图像局部与分割 局部与分割 背景减除 分水岭算法 用Inpainting修补图像 均值漂移分割 Delaunay三角剖分和Voronoi 划分 练习 第10章 跟踪与运动 跟踪基础 寻找角点 亚像素级角点 不变特征 光流 mean-shift和camshift跟踪 运动模板 预估器 condensation算法 练习 第11章 摄像机模型与标定 摄像机模型 标定 矫正 一次完成标定 罗德里格斯变换 练习 第12章 投影与三维视觉 投影 仿射变换和透视变换 POSIT:3D姿态估计 立体成像 来自运动的结构 二维和三维下的直线拟合 练习 第13章 机器学习 什么是机器学习 OpenCV机器学习算法 Mahalanobis距离 K均值 朴素贝叶斯分类 二叉决策树 ..........
学习opencv文档中文版,目录结构如下: OpenCV入门必备 图书目录: 第1章 概述   什么是OpenCV   OpenCV的应用领域   什么是计算机视觉   OpenCV的起源   下载和安装OpenCV   通过SVN获取最新的OpenCV代码   更多OpenCV文档   OpenCV的结构和内容   移植性   练习 第2章 OpenCV入门   开始准备   初试牛刀—— 显示图像   第二个程序—— 播放AVI视频   视频播放控制   一个简单的变换   一个复杂一点的变换   从摄像机读入数据   写入AVI视频文件   小结   练习 第3章 初探OpenCV   OpenCV的基本数据类型   CvMat矩阵结构   IplImage数据结构   矩阵和图像操作   绘图   数据存储   集成性能基元   小结   练习 第4章 细说HighGUI   一个可移植的图形工具包   创建窗口   载入图像   显示图像   视频的处理   ConvertImage函数   练习 第5章 图像处理   综述   平滑处理   图像形态学   漫水填充算法   尺寸调整   图像金字塔   阈值化   练习 第6章 图像变换   概述   卷积   梯度和Sobel导 数   拉普拉斯变换   Canny算子   霍夫变换   重映射   拉伸、收缩、扭曲和旋转   CartToPolar与PolarToCart   LogPolar   离散傅里叶变换(DFT)   离散余弦变换(DCT)   积分图像   距离变换   直方图均衡化   练习 第7章 直方图与匹配   直方图的基本数据结构   访问直方图   直方图的基本操作   一些更复杂的策略   练习 第8章 轮廓   内存   序列   查找轮廓   Freeman链码   轮廓例子   另一个轮廓例子   深入分析轮廓   轮廓的匹配   练习 第9章 图像局部与分割   局部与分割   背景减除   分水岭算法   用Inpainting修补图像   均值漂移分割   Delaunay三角剖分和Voronoi 划分   练习 第10章 跟踪与运动   跟踪基础   寻找角点   亚像素级角点   不变特征   光流   mean-shift和camshift跟踪   运动模板   预估器   condensation算法   练习 第11章 摄像机模型与标定   摄像机模型   标定   矫正   一次完成标定   罗德里格斯变换   练习 第12章 投影与三维视觉   投影   仿射变换和透视变换   POSIT:3D姿态估计   立体成像   来自运动的结构   二维和三维下的直线拟合   练习 第13章 机器学习   什么是机器学习   OpenCV机器学习算法   Mahalanobis距离   K均值   朴素贝叶斯分类   二叉决策树   boosting   随机森林   人脸识别和Haar分类器   其他机器学习算法   练习 第14章 OpenCV的未来   过去与未来   发展方向

19,469

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 图形处理/算法
社区管理员
  • 图形处理/算法社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧