(原)使用opencv的warpAffine函数对图像进行旋转
转载请注明出处:
http://www.cnblogs.com/darkknightzh/p/5070576.html
参考网址:
http://stackoverflow.com/questions/7813376/rotate-cvmat-using-cvwarpaffine-offsets-destination-image 的plhn的回复
http://blog.csdn.net/xiaowei_cqu/article/details/7616044
http://docs.opencv.org/2.4/doc/tutorials/imgproc/imgtrans/warp_affine/warp_affine.html
使用opencv的warpAffine函数对图像进行旋转
Mat ImgRotate(const Mat& ucmatImg, double dDegree)
{
Mat ucImgRotate; double a = sin(dDegree * CV_PI / );
double b = cos(dDegree * CV_PI / );
int width = ucmatImg.cols;
int height = ucmatImg.rows;
int width_rotate = int(height * fabs(a) + width * fabs(b));
int height_rotate = int(width * fabs(a) + height * fabs(b)); Point center = Point(ucmatImg.cols / , ucmatImg.rows / ); Mat map_matrix = getRotationMatrix2D(center, dDegree, 1.0);
map_matrix.at<double>(, ) += (width_rotate - width) / ; // 修改坐标偏移
map_matrix.at<double>(, ) += (height_rotate - height) / ; // 修改坐标偏移 warpAffine(ucmatImg, ucImgRotate, map_matrix, { width_rotate, height_rotate },
CV_INTER_CUBIC | CV_WARP_FILL_OUTLIERS, BORDER_CONSTANT, cvScalarAll()); return ucImgRotate;
}
(原)使用opencv的warpAffine函数对图像进行旋转的更多相关文章
- Python图像处理丨基于OpenCV和像素处理的图像灰度化处理
摘要:本篇文章讲解图像灰度化处理的知识,结合OpenCV调用cv2.cvtColor()函数实现图像灰度操作,使用像素处理方法对图像进行灰度化处理. 本文分享自华为云社区<[Python图像处理 ...
- opencv —— getRotationMatrix2D、warpAffine 仿射变换实现图像旋转缩放
仿射变换的基本概念 仿射变换是一种二维坐标(x, y)到二维坐标(u, v)的线性变换,其数学表达式形式如下: 对应的齐次坐标矩阵表示形式为: 仿射变换保持了二维图形的“平直性”(直线经仿射变换后依然 ...
- 图像边缘检测--OpenCV之cvCanny函数
图像边缘检测--OpenCV之cvCanny函数 分类: C/C++ void cvCanny( const CvArr* image, CvArr* edges, double threshold1 ...
- 图像边缘检測--OpenCV之cvCanny函数
图像边缘检測--OpenCV之cvCanny函数 分类: C/C++ void cvCanny( const CvArr* image, CvArr* edges, double threshold1 ...
- OpenCV学习2-----使用inpaint函数进行图像修复
安装opencv时,在opencv的安装路径下, sources\samples\cpp\ 路径里面提供了好多经典的例子,很值得学习. 这次的例子是利用inpaint函数进行图像修复. CV_EXP ...
- OpenCV文本图像的旋转矫正
用户在使用Android手机拍摄过程中难免会出现文本图像存在旋转角度.这里采用霍夫变换.边缘检测等数字图像处理算法检测图像的旋转角度,并根据计算结果对输入图像进行旋转矫正. 首先定义一个结构元素,再通 ...
- Python 图像处理 OpenCV (5):图像的几何变换
前文传送门: 「Python 图像处理 OpenCV (1):入门」 「Python 图像处理 OpenCV (2):像素处理与 Numpy 操作以及 Matplotlib 显示图像」 「Python ...
- 【OpenCV入门教程之三】 图像的载入,显示和输出 一站式完全解析(转)
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接:http://blog.csdn.net/poem_qianmo/article/details/20537737 作者:毛星云(浅墨) ...
- 图像分割之(四)OpenCV的GrabCut函数使用和源码解读
图像分割之(四)OpenCV的GrabCut函数使用和源码解读 分类: 图像处理 计算机视觉 2013-01-23 ...
随机推荐
- Oracle11g R2学习系列 之二基本概念和环境介绍
昨天安装好了之后,发现用Chrome打开OEM发现是英文的,搞得我好奇怪:安装时明明自动显示的是中文的,为何会是英文的呢.后来想想会不会是Oracle用的是浏览器的语言呢,果断打开Chrome的设置, ...
- slf4j教程
slf4j只是一个门面(facet),它不包含具体的实现,而是将一些log4j,java.logging等实现包装成统一的接口.借用下图展示了常用日志文件的关系: 通过上面的图,可以简单的理清关系! ...
- C# 获取当前路径
// 获取程序的基目录.System.AppDomain.CurrentDomain.BaseDirectory F:\广告编辑系统新\taxi_edit\taxi_form\bin\Debug\ ...
- 数据链路层-点对点协议PPP
在通信质量较差的年代,在数据链路层使用可靠传输协议曾是一个好的办法.因此,能实现可靠传输的高级数据链路控制HDLC(High-Level Data Link Control)就称为当时比较流行的数据链 ...
- 根据样式获取被选中的checkbox
<ul id="> </div> </li></ul> $("#btn_CheckManagerCompletionCreateAt ...
- MVC入门之.Net语法学习
本节中主要学习.Net框架性语法.开发者可以使用新语法提高编程的效率以及代码的运行效率:其本质都是“语法糖”,由编译器在编译时转成原始语法. u 自动属性 Auto-Implemented Prop ...
- BZOJ 1877 晨跑
http://www.lydsy.com/JudgeOnline/problem.php?id=1877 思路:拆点费用流,答案就是最大流量和最小费用. #include<algorithm&g ...
- 使用片上XRAM需要进行的初始化
现在,流行的51单片机大多把on-chip expanded RAM(以下简称XRAM)作为基本配置,容量有些差别.厂商在给出芯片特性时,往往把XRAM和标准52芯片的256字节内部RAM加在一起统称 ...
- STL中istream_iterator和ostream_iterator的基本用法
标准程序库定义有供输入及输出用的iostream iterator类,称为istream_iterator和ostream_iterator,分别支持单一型别的元素读取和写入.使用这两个iterato ...
- ios想要取消执行延时调用的方法
想要取消执行延时调用的方法: [[self class] cancelPreviousPerformRequestsWithTarget:self selector:@selector(hideDia ...