图像预处理——透视变换(二):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方向校正原理相关推荐

  1. 图像预处理(二值化)

    图像预处理(二值化) 本文的实验是主要通过opencv与python3实现,相关的代码可以在GitHub中找到. 1. 图像获取与灰度化 通过摄像头获取到的图像为彩色的图像.彩色图像主要分为两种类型, ...

  2. python图像预处理-(二)腐蚀与膨胀

    一.介绍 腐蚀膨胀是图像预处理中经常用的操作,主要作用是消除干扰 膨胀就是把白色区域扩大,消除黑色小块或空洞: 腐蚀就是把白色区域缩小,消除白色小块,扩大黑色区域 二.代码实现 import nump ...

  3. TensorFlow 图像预处理(二) 图像翻转,图像色彩调整

    https://blog.csdn.net/chaipp0607/article/details/73089910 图像翻转 tf.image.flip_up_down:上下翻转 tf.image.f ...

  4. ocr图像预处理-图像分割、文字方向校正

    说明:文字方向校正(fft方式和放射变换方式)参考了网上的代码,只做了少量修改 只针对医疗影像图像,自然场景下的另说 因为处理的图像都很大很大,居然有11000*12000这种分辨率的,有90M大小, ...

  5. 指针式仪表自动读数与识别(二):仪表图像预处理

    一.仪表图像预处理 1.预处理操作 在做任何图像处理相关操作之前都要先进行预处理.预处理操作包括: (1) 缩放和变换 缩放操作的主要目的是减小图像大小,减少计算量,缩放操作不是必须的,但是如果系统对 ...

  6. Halcon图像预处理-图像的变换与校正

    提示:本文参考了网上其他相关文章,如有侵权,请联系作者. 文章目录 前言 一.图像处理与矩阵(Matrix).齐次坐标 1.图像的平移 2.图像的旋转 3.图像的缩放 4.补充 二.仿射变换 1.仿射 ...

  7. PyTorch框架学习六——图像预处理transforms(二)

    PyTorch框架学习六--图像预处理transforms(二) (续)二.transforms的具体方法 4.图像变换 (1)尺寸变换:transforms.Resize() (2)标准化:tran ...

  8. 计算机视觉实战的深度学习实战二:图像预处理

    图像预处理 更多精彩内容请关注微信公众号:听潮庭. 写在前面: 图像显示与存储原理 图像增强的目标 点运算:基于直方图的对比度增强 形态学处理 空间与处理:卷积 卷积的应用(平滑.边缘检测.锐化等) ...

  9. OpenCV python(二)图像预处理:改变图像大小 提取感兴趣区域

    OpenCV python(二)图像预处理:改变图像大小 && 提取感兴趣区域 一.改变图像大小 1.获取图像宽.高.通道数 2.resize函数 3.案例 二.ROI感兴趣区域 1. ...

最新文章

  1. Python网络爬虫实战:天猫胸罩销售数据分析
  2. Luogu5285 [十二省联考2019] 骗分过样例
  3. python全排序算法题_Python的100道经典算法题(1)
  4. QT的QRegExpValidator类的使用
  5. 三相pmsm矢量控制仿真模型_学术|基于新型滑模观测器的永磁同步电机无传感器矢量控制系统...
  6. git 快速入门笔记
  7. schur补(schur complement)
  8. CentOS6.4下安装TeamViewer8
  9. java异常标记_java.lang.RuntimeException:错误:0D0680A8:asn1编码例程:ASN1_CHECK_TLEN:错误的标记...
  10. 原生的强大DOM选择器querySelector - querySelector和querySelectorAll
  11. Raki的读paper小记:RoBERTa: A Robustly Optimized BERT Pretraining Approach
  12. 尽在双11:阿里巴巴技术演进与超越
  13. 开发与测试的相爱相杀
  14. 电商后台管理项目的步骤分析
  15. 二维傅里叶变换简化方式
  16. 金山和微软word脚注和尾注问题
  17. 微博热词搜索并生成云词html(完整)
  18. SEER数据库中肿瘤发病率计算并绘制发病率趋势图
  19. 英雄杀11月光棍节活动
  20. XSLT函数集合:数值函数、字符串函、节点集函数和布尔函数

热门文章

  1. Python编写简单的剪刀石头布小程序
  2. matlab GUI学习笔记1 如何生成一个GUI文件,及如何修改保存后的.fig文件
  3. AJAX和axios的基本使用
  4. 《蝴蝶效应1》(2004 美)
  5. AGV初始篇--(5分钟了解AGV)
  6. 《妙趣横生的算法》学习笔记说明
  7. Ae 效果详解:Keylight(1.2)
  8. 正则匹配json字符串中的key,将kebab-case转换为camelCase
  9. 小程序记录好玩的学习资源
  10. k-means Clustering of Movie