当前位置: 首页 > news >正文

opencv 图像矫正的原理

图像矫正的原理是透视变换,下面来介绍一下透视变换的概念。

听名字有点熟,我们在图像旋转里接触过仿射变换,知道仿射变换是把一个二维坐标系转换到另一个二维坐标系的过程,转换过程坐标点的相对位置和属性不发生变换,是一个线性变换,该过程只发生旋转和平移过程。因此,一个平行四边形经过仿射变换后还是一个平行四边形。

而透视变换是把一个图像投影到一个新的视平面的过程,在现实世界中,我们观察到的物体在视觉上会受到透视效果的影响,即远处的物体看起来会比近处的物体小。透视投影是指将三维空间中的物体投影到二维平面上的过程,这个过程会导致物体在图像中出现形变和透视畸变。透视变换可以通过数学模型来校正这种透视畸变,使得图像中的物体看起来更符合我们的直观感受。通俗的讲,透视变换的作用其实就是改变一下图像里的目标物体的被观察的视角。

如上图所示,图1在经过透视变换后得到了图2的结果,带入上面的话就是图像中的车道线(目标物体)的被观察视角从平视视角变成了俯视视角,这就是透视变换的作用。

与仿射变换一样,透视变换也有自己的透视变换矩阵:

其中x、y是原始图像点的坐标,x^{\prime}、y^{\prime}是变换后的坐标,a11,a12,…,a33则是一些旋转量和平移量,由于透视变换矩阵的推导涉及三维的转换,所以这里不具体研究该矩阵,只要会使用就行,而OpenCV里也提供了getPerspectiveTransform()函数用来生成该3*3的透视变换矩阵。

相关文章:

  • iso文件在麒麟V10系统上安装达梦数据库
  • Spark,从0开始配置Spark的local模式
  • 实时进程简单说明
  • IDEA内存配置失效(已解决)
  • 龙虎榜——20250421
  • 流程执行松散,如何强化规范?
  • QT写的exe嵌入到wpf中
  • 4月22日直播预告|AI赋能开发提效,三大应用场景实战分享
  • 安恒安全渗透面试题
  • electron从安装到启动再到打包全教程
  • Eteam 0.3版本开发规划
  • 【Easylive】使用Seata解决分布式事务问题
  • 华为云获取IAM用户Token的方式及适用分析
  • 阿里云入门手册
  • 富文本编辑器
  • SSH反向代理
  • go语言的八股文
  • 突破传统!SEARCH-R1如何让LLM与搜索引擎协同推理?
  • 音视频学习(三十五):aud
  • DeepSeek 大模型 + LlamaIndex + MySQL 数据库 + 知识文档 实现简单 RAG 系统
  • 安且吉兮,西泠印社雅集吴昌硕故里
  • 复旦大学史地学系在北碚
  • 重庆警方通报“货车轮胎滚进服务区致人死亡”:正进一步调查
  • 守护体面的保洁员,何时能获得体面?|离题
  • 3月份规模以上工业增加值增长7.7%