【问题标题】:Perspective correction using Matlab [duplicate]使用Matlab进行透视校正[重复]
【发布时间】:2015-09-10 20:07:08
【问题描述】:

用文本框(绿色)绑定自然图像后,我想应用单应矩阵(透视校正)将绿色区域投影到矩形。

请参考上述图片的链接

http://i.stack.imgur.com/nhe4S.jpg

如何实现代码/调用中的代码

http://www.mathworks.com/matlabcentral/answers/26141-homography-matrix

或者,其他合适算法的任何其他可能性?

我可以为你提供边界框的坐标,用

获得
img=imread('perspective.jpg');
imshow(img); ginput(4)

四边形的坐标是

ans =

   23.1597   25.0459
   22.0220   55.9541
  164.2375   61.6427
  165.3752   30.1657

【问题讨论】:

  • 看看重复帖子的下半部分。它向您展示了如何将图像从一组点扭曲到另一组。
  • 较早的帖子谈到了匹配。但是,我在 OCR 之前进行预处理。恐怕我没有映射的“原始/模型图像”。
  • 没关系。源点将是您拥有的四边形,目标点应该是输出矩形的角点。基本原理是一样的。鉴于这两组点,您只需使用estimateGeometricTransform 而不是图像本身。
  • 谢谢大家。我的最终实现是首先裁剪限制四边形的最小矩形(以方便计算)。然后计算它的宽度和高度。最终图像投影到 (0,0) (w,0) (w,h) (0,h) 的矩形上。这假设一个平行四边形。使用 ocr 可以正常工作。希望有更好的算法来计算 w 和 h。

标签: matlab image-processing computer-vision homography


【解决方案1】:

您可以使用fitgeotrans 函数计算两个边界框之间的单应变换。然后,您可以使用 imwarp 将生成的转换应用于图像。

【讨论】:

  • 感谢您的快速回答。对不起,来自 Matlab 新手。你能写一个示例代码吗?
  • @user2513881 - 在 MATLAB 中输入 help fitgeotrans 并阅读文档。
  • 我想移动点是检测到的角。但是固定点呢?
猜你喜欢
  • 2014-05-04
  • 2014-12-20
  • 2012-01-04
  • 2018-01-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-09
相关资源
最近更新 更多