图像预处理——透视变换(二):X,Y方向校正原理
图像预处理——透视变换(二):X,Y方向校正原理
接着上一篇进行,上一篇为:
Nani_xiao的图像处理学习笔记:透视变换(一)
这里采用一点透视投影
X 方向校正
图2 是透视投影的灭点原理图。在不考虑其他畸变的情况下,边ab 和边cd 平行于X 轴, 而边ac 和边bd 则和X 轴成一定的夹角。根据a 、b 、c 、d 点的图像坐标,可以求出透视投影的灭点e 的坐标(mx , my)(在图像坐标系下)。 然后根据透视缩小效应, 对其进行反运算, 进行X 方向的校正。在X 方向的校正中, 可以选择图像高度(0~ H - 1)任意一条水平线的宽度作为标准宽度。为了计算方便, 选取图像的最上面的边(宽度W)作为标准宽度。在图2 中, 将边ac 校正为垂直于X 轴的a′c′, 可以通过求边ac 与过灭点e(mx ,my )垂直于X 轴的边e f 的夹角α, 根据三角形相似性, 求出边ac 在i 高度的X方向的偏移量Δxi , 那么原图像中的点(j , i)在校正后的图像的坐标为(j +Δxi , i), 其中Y 方向的坐标在X 方向上的校正是保持不变。
X方向校正后是保证ac和bd与X轴垂直
在X 方向上的校正公式如下:
Y 方向校正
根据小孔成像原理, 可得:
由上式可知在Y 和X 方向上的缩放比例是相同的, 因此可以根据在X 方向变换时得到的比例关系对Y 方向进行同样比例的变换。知道了X 方向的校正比例关系, 可以建立Y 方向的校正公式:
Y方向校正后是实现在Y方向上,各个实际距离之间实现等分,重构原图像。
进行X 和Y 方向两次变换后, 计算出二维图像上对应点位置坐标之间的变换关系, 就可以重构出校正后的图像, 各点的灰度值采用双线性插值法计算出。
图像预处理——透视变换(二):X,Y方向校正原理相关推荐
- 图像预处理(二值化)
图像预处理(二值化) 本文的实验是主要通过opencv与python3实现,相关的代码可以在GitHub中找到. 1. 图像获取与灰度化 通过摄像头获取到的图像为彩色的图像.彩色图像主要分为两种类型, ...
- python图像预处理-(二)腐蚀与膨胀
一.介绍 腐蚀膨胀是图像预处理中经常用的操作,主要作用是消除干扰 膨胀就是把白色区域扩大,消除黑色小块或空洞: 腐蚀就是把白色区域缩小,消除白色小块,扩大黑色区域 二.代码实现 import nump ...
- TensorFlow 图像预处理(二) 图像翻转,图像色彩调整
https://blog.csdn.net/chaipp0607/article/details/73089910 图像翻转 tf.image.flip_up_down:上下翻转 tf.image.f ...
- ocr图像预处理-图像分割、文字方向校正
说明:文字方向校正(fft方式和放射变换方式)参考了网上的代码,只做了少量修改 只针对医疗影像图像,自然场景下的另说 因为处理的图像都很大很大,居然有11000*12000这种分辨率的,有90M大小, ...
- 指针式仪表自动读数与识别(二):仪表图像预处理
一.仪表图像预处理 1.预处理操作 在做任何图像处理相关操作之前都要先进行预处理.预处理操作包括: (1) 缩放和变换 缩放操作的主要目的是减小图像大小,减少计算量,缩放操作不是必须的,但是如果系统对 ...
- Halcon图像预处理-图像的变换与校正
提示:本文参考了网上其他相关文章,如有侵权,请联系作者. 文章目录 前言 一.图像处理与矩阵(Matrix).齐次坐标 1.图像的平移 2.图像的旋转 3.图像的缩放 4.补充 二.仿射变换 1.仿射 ...
- PyTorch框架学习六——图像预处理transforms(二)
PyTorch框架学习六--图像预处理transforms(二) (续)二.transforms的具体方法 4.图像变换 (1)尺寸变换:transforms.Resize() (2)标准化:tran ...
- 计算机视觉实战的深度学习实战二:图像预处理
图像预处理 更多精彩内容请关注微信公众号:听潮庭. 写在前面: 图像显示与存储原理 图像增强的目标 点运算:基于直方图的对比度增强 形态学处理 空间与处理:卷积 卷积的应用(平滑.边缘检测.锐化等) ...
- OpenCV python(二)图像预处理:改变图像大小 提取感兴趣区域
OpenCV python(二)图像预处理:改变图像大小 && 提取感兴趣区域 一.改变图像大小 1.获取图像宽.高.通道数 2.resize函数 3.案例 二.ROI感兴趣区域 1. ...
最新文章
- Python网络爬虫实战:天猫胸罩销售数据分析
- Luogu5285 [十二省联考2019] 骗分过样例
- python全排序算法题_Python的100道经典算法题(1)
- QT的QRegExpValidator类的使用
- 三相pmsm矢量控制仿真模型_学术|基于新型滑模观测器的永磁同步电机无传感器矢量控制系统...
- git 快速入门笔记
- schur补(schur complement)
- CentOS6.4下安装TeamViewer8
- java异常标记_java.lang.RuntimeException:错误:0D0680A8:asn1编码例程:ASN1_CHECK_TLEN:错误的标记...
- 原生的强大DOM选择器querySelector - querySelector和querySelectorAll
- Raki的读paper小记:RoBERTa: A Robustly Optimized BERT Pretraining Approach
- 尽在双11:阿里巴巴技术演进与超越
- 开发与测试的相爱相杀
- 电商后台管理项目的步骤分析
- 二维傅里叶变换简化方式
- 金山和微软word脚注和尾注问题
- 微博热词搜索并生成云词html(完整)
- SEER数据库中肿瘤发病率计算并绘制发病率趋势图
- 英雄杀11月光棍节活动
- XSLT函数集合:数值函数、字符串函、节点集函数和布尔函数