【发布时间】:2016-07-22 10:22:16
【问题描述】:
我有以下轮廓(最大的深蓝色多边形):
这张照片由智能手机拍摄并由 OpenCV 处理。最终我想识别这张卡底部的数字(请忽略条形码)。
我的下一步是在3x3 transformation matrix 上倾斜(warp the perspective of)这张图片。预期结果示例:
请注意,该示例缺少实际的图像数据。
问题:如何获取3x3 transformation matrix?
我过去的尝试:
- 将轮廓的多个相似线段替换为一个。
- 查找最大的 4 个段
- 假设这 4 段形成矩形
- 将图像扭曲到矩形的角度
我的意思是:具有几乎相同角度的线段。
但是,这并不能给我准确的结果。我所希望的是一种近乎完美的算法,可用于文本识别。
我更喜欢包含某种程序语言或伪代码的答案。
【问题讨论】:
-
1.我只看到一个 2D 图像。 2D 空间中的多边形没有 3D 方向。 2. 每个多边形都适合一个矩形 3. 你在说什么段?你把它们粘在一起是什么意思 4.“这不能给我准确的结果”:它给你什么结果,什么是准确的? 5.“我想要一个近乎完美的算法”:距离圣诞节还有 8 个月。 6. 到目前为止你还没有提到任何图像处理。到目前为止,您是如何处理图像的?
-
一张图片无法获得 3D 效果
-
来自一台摄像机——你记下了这些台词吗?我不明白 - 你在卡片上标记了线条吗 - 你需要两个 3D 摄像头
-
@Tim:您已检测到带有文本的区域。然后您可以提取轮廓,找到四个主要边界(霍夫变换),然后找到交点,就可以了!
-
@FiReTiTi 是的,谢谢。这已经奏效了。
标签: algorithm math image-processing 3d polygon