图像旋转算法

图像旋转是指把定义的图像绕某一点以逆时针或顺时针方向旋转一定的角度,通常是指绕图像的中心以逆时针方向旋转。

   假设图像的左上角为(left, top),右下角为(right, bottom),则图像上任意点(x0, y0)绕其中心(xcenter, ycenter)顺时针旋转θ角度后,新的坐标位置(x′, y′)的计算公式为:

xcenter = (right - left + 1) / 2 + left;
ycenter = (bottom - top + 1) / 2 + top;
x′ = (x0 - xcenter) cosθ - (y0 - ycenter) sinθ + xcenter;
y′ = (x0 - xcenter) sinθ + (y0 - ycenter) cosθ + ycenter;

逆时针-θ

时间: 2024-08-04 08:22:18

图像旋转算法的相关文章

PIE SDK图像旋转

1.算法功能简介 图像旋转可使图像以中心点为轴沿特定方向旋转指定的角度. PIESDK支持算法功能的执行,下面对图像旋转算法功能进行介绍. 2.算法功能实现说明 2.1 实现步骤 第一步 算法参数设置 第二步 算法执行 第三步 结果显示 2.2 算法参数 C#算法DLL PIE.CommonAlgo.dll C#算法名称 PIE.CommonAlgo.ImageRotationAlgo 参数结构体 ImageRotation_Exchange_Info 参数说明 InputFilePath St

每日算法之三十七:Rotate Image (图像旋转)

You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). Follow up: Could you do this in-place? 原地图像顺时针旋转90度.因为要求空间复杂度是常数,因此应该迭代旋转操作. class Solution { public: void rotate(vector<vector<int> > &mat

用OpenCV实现Photoshop算法(一): 图像旋转

最近学习了OpenCV,于是想用它实现Photoshop的主要功能,用于照片处理. 对于一张照片,PS的一般处理步骤包括: 1, 旋转图片,校正位置. 2,剪切,调整大小,重新构图. 3,调整色阶.曲线,使图片曝光正确.对比适中. 4,调整对比度.饱和度 5,印章去掉不想要的东西,液化调整形体线条 6,对于人像图片,美肤.美白 7, 用色彩平衡.可选颜色等调整色调,形成照片调性 8,加一些光效 9,锐化 以后的一系列博文将采用OpenCV逐一实现Photoshop的算法和功能, 并用计算机视觉人

每日算法37:Rotate Image (图像旋转)

You are given an n x n 2D matrix representing an image. Rotate the image by 90 degrees (clockwise). Follow up: Could you do this in-place? 原地图像顺时针旋转90度.由于要求空间复杂度是常数,因此应该迭代旋转操作. class Solution { public: void rotate(vector<vector<int> > &mat

C/C++ BMP(24位真彩色)图像处理(4)------图像の旋转

历经一个多月,CSDN貌似终于好像把文章列表阅读量信息归零BUG给修好了,于是乎放篇做期末大作业时写的文章上来测测效果,可别又像上次一样一发文章就又坑爹了啊! 本篇谈的是图像的旋转,不算是什么新鲜的题目了.但是现在由于很多工具如MATLAB.OPENCV等都把算法写好给用户调用,导致大多用户只知其然不知其所以然,所以回顾一下也是好的. 图像的旋转,说到底就是每个像素点绕着某个圆心旋转一定角度.如果是写代码的话,旋转的角度和圆心应该是已知的条件,我们第一个思路是根据已知条件求取出图像经过旋转后的新

图像融合算法(归纳篇)

综合关注几篇的papers的图像融合算法,对整个过程作归纳,与大家分享(^_^).基于sift特征的全景拼接方法的整个过程的大致流程: 对需拼接的图像进行预处理,主要是几何校正和消噪.对于几何校正,因为我们考虑的是视频的实时处理,那么我们只需考虑摄像机的所有运动形式,其中包含8个自由度,可用投影变换来表示.H=[m0 m1 m2;m3 m4 m5;m6 m7 1],考虑到它的算法复杂度已经有n的3次方,我们可以考虑通过控制摄像机的运动方式来减少复杂度,比如令摄像机只有平移旋转和缩放,即仿射变换,

图像融合算法(感应篇)

复按照几个papers图像融合算法,诱导整个过程,与您分享(^_^). 基于sift的全景拼接方法的整个过程的大致流程: 对需拼接的图像进行预处理.主要是几何校正和消噪.对于几何校正.因为我们考虑的是视频的实时处理,那么我们仅仅需考虑摄像机的全部运动形式,当中包括8个自由度.可用投影变换来表示.H=[m0 m1 m2;m3 m4 m5;m6 m7 1],考虑到它的算法复杂度已经有n的3次方.我们能够考虑通过控制摄像机的运动方式来减少复杂度,比方令摄像机仅仅有平移旋转和缩放,即仿射变换,减少了一次

图像缩放算法【转】

转自:http://blog.csdn.net/qq_21792169/article/details/51020005 版权声明:本文为Linux_Google原创文章,转载请加上原创链接. 转载别人的,但是这篇文章写得确实太好了,所以想分享出来,可是原创文章地址找不到了 ,很可惜. 图像缩放算法 摘要:首先给出一个基本的图像缩放算法,然后一步一步的优化其速度和缩放质量: 高质量的快速的图像缩放 全文 分为:      上篇 近邻取样插值和其速度优化      中篇 二次线性插值和三次卷积插值

将图像旋转90度

题目:给定一幅由N*N矩阵表示的图像,其中每个像素的 大小为4字节,编写一个方法,将图像旋转90度.不占用额外内存空间能否做到? 那么,该如何交换这四条边?一种做法是把上面复制到一个数组中,然后将左边移到上边,下边移到到左边,等等.这需要占用O(N)内存空间.但实际上没有必要, 更好的做法是按索引一个一个进行交换.具体做法如下: for i = 0 to n temp = top[i]; top[i] = left[i]; left[i] = bottom[i]; bottom[i] = rig