图像倾斜矫正方程基本的图像变换

图像倾斜矫正方程基本的图像变换

 

三个基本图像变换矩阵为

1 平移变换矩阵

 

2 缩放矩阵

           

3 旋转变换矩阵

 

采用矩阵的方式来表达矩阵旋转的好处是表达更简洁,在进行进一步的变换时更方便.比如一个变换即有平移变换,又有缩放变换,又有旋转变换,那么用矩阵表示这些变换组合,相当于做矩阵相乘的组合动作,最后可以组成成一个矩阵.

旋转变换矩阵是怎么来的呢? 证明如下

(x, y)  原图中的一点

(x’, y’) 旋转后图的一点

a 旋转的角度

 

将x ,y 变为正弦余弦的表示方式 

x = rcosb 

y = rsinb

记 r = , b 为asin(x/r)  (asin 表示反余弦)

则  x’ = rcos(b + a) , y’ = rsin(b+a)

 

这里要用到三角和差公式

 

x’ = rcos(b+a) = rcosacosb – rsinasinb = xcosa – ysina

y’ = rsin(b+a) = rsinacosb + rsinbcosa = xsina + ycosa

 

转换为矩形方式就是结论了.

结论是不是很漂亮啊.把(x,y) 转换为 (rcosb, rsinb) 和和差公式是关键.

 

 

 

 

 

 

 

 

 

 

 

                                  

时间: 2024-10-10 09:05:32

图像倾斜矫正方程基本的图像变换的相关文章

车牌识别--倾斜矫正

在车牌识别系统中, 车牌字符能够正确分割的前提是车牌图像能够水平,以至于水平投影和垂直投影能够正常进行.如果车牌倾斜没有矫正,那么水平投影和垂直投影,甚至铆钉都无法正常处理.所以,当车辆信息中获取车牌的第一步,应该是检查倾斜角度,做倾斜矫正. 倾斜矫正,这里使用的算法: 1.倾斜角度检测: 霍夫变换 关于hough变换,可以参考前面图像处理博文: http://blog.csdn.net/liujia2100/article/details/6989693   直线检测 http://blog.

图片文档倾斜矫正算法 附完整c代码

2年前在学习图像算法的时候看到一个文档倾斜矫正的算法. 也就是说能将一些文档图像进行旋转矫正, 当然这个算法一般用于一些文档扫描软件做后处理 或者用于ocr 文字识别做前处理. 相关的关键词: 抗倾斜 反倾斜  Deskew 等等. 最简单算法实现思路,采用 霍夫变换(Hough Transform)进行直线检测, 当然也可以用霍夫变换检测圆. 在倾斜矫正算法中,自然就是检测直线. 通过对检测出来的直线进行角度判断, 一般取 认可度最高的几条直线进行计算, 最后求取均衡后的角度值. 进行图像角度

摄像机模型,畸变模型及畸变图像的矫正

有任何问题,请联系:[email protected] 摄像机模型,畸变模型及畸变图像的矫正 [email protected] 注1:文中所有图的符号标注并不统一,一切以正文部分公式为准. l  摄像机模型: 分若干步骤实现: 1)     小孔成像映射: 类似如上的小孔成像模型,重置一下摄像机坐标系位置,得如下小孔成像模型: 上图中,小孔成像模型把空间坐标点(齐次坐标形式,最后多一项记为1)映射为距距摄像机坐标系平面位置为(单位为距离)的新平面上的点,其坐标描述为(齐次坐标形式,单位为距离)

图像变换之矫正---鱼眼图像的矫正简介

概论: ZD鱼眼图像变形校正算法,理论上相对比较简单,各种具体典型算法也存在一定的不足.球面坐标定位展开算法是一种粗略的校正方法,最终的处理效果不够理想.多项式坐标变换算法是一种典型的校正算法,针对鱼眼镜头,往往需要5次多项式,同时需要N个控制点,计算量非常巨大,难于用于实时系统.而且控制点的合理选取也是一个很难把握的地方.极半径映射算法的缺点也类似于多项式坐标变换算法,需要手动地去选取控制点.3D鱼眼图像变形校正算法,相对计算比较精确.其中,投影转换算法是将鱼眼图像转换成透视投影的图像,具体是

opencv图像倾斜校正和切边

#include<opencv2/opencv.hpp> #include<iostream> #include<cmath> using namespace std; using namespace cv; const char input[] = "Input image"; const char output[] = "Output image"; void fileCutLine(int, void*);//对图片边缘切取

ROS 摄像头矫正 camera_calibration

1.首先回顾摄像头Package 安装教程 我安装的是uvc_camera. 由于对ROS不熟悉,目前只知道cd到/opt/ros/hydro/share目录下,将uvc_camera 的package 下载下来 i.e: git clone https://github.com/ktossell/camera_umd.git 具体见另外一篇教程 采用$rosrun uvc_camera uvc_camera_node 即可打开摄像头, 采用$rostopic list & rosservice

图像处理-图像的旋转及变换

对于倾斜的图像,可以通过矩阵转换将其进行矫正. 先计算出图像倾斜矩形的长宽,而后将矫正后的形状的矩形坐标确定,通过getPerspectiveTransform获取矫正前与矫正后坐标的变换矩阵,而后利用warpPerspective将图像进行变换 1 float dstSize1 = dist(Final_poly[i][0], Final_poly[i][1]); 2 float dstSize2 = dist(Final_poly[i][1], Final_poly[i][2]); 3 fl

【数字图像处理】PDF文字倾斜旋转校正

Title: PDF文字倾斜旋转 Reference: "电面中被问到了做的LPR,简单的介绍了下后又问到了关于如何矫正倾斜角的问题.答得比较含糊,所以今天来补充一下. 倾斜矫正的方法有很多种,包括基于Hough变换的矫正,基于字符投影的倾角矫正,常规线性角度检测等等.这里因为前段时间刚刚写过关于Hough变换的东西,所以实践一下. 其基本思想是找出边缘直线,并根据直线找出倾角后进行旋转. 对于噪声较少的一些图像,做二值化处理后噪声也较少,利用合适的膨胀处理后文字自然连接成长条状以便于进行边缘的

QT使用QgraphicView/Qpainter展示RGB/YUV图像

本文记载说明使用Qt做RGB的渲染流程和问题.笔者认为:做媒体渲染这种数据量大而对象少的应用场景,使用Qpainter更佳,在多种RGB的转换中,YUV转RGB565最小而且字节对齐问题不容易发生,故推荐之. 加入与opengl  ddraw sdl 的 对比. RGB->QImage->QPixMap->Scene->GrapView 图像的数据是以字节为单位保存的,每一行的字节数必须是4的整数倍,不足的补0. (因为我们使用的是32操作系统,因此数据是按照32位对齐的,所以每行