image - 透视变换四边形平面中的给定点(x,y)到矩形平面的点(x',y')?

标签 image opencv image-processing emgucv perspective

我正在尝试将四边形转换为矩形平面并且需要提取1个特定点(在四边形平面中)的坐标,相对于矩形平面..

我在 .NET 项目中使用 EmguCV 进行图像处理

我尝试过的是:

1)计算四边形和矩形平面之间的单应性矩阵(从两个平面的左上角按顺时针顺序指定点)

2) 将上面的单应矩阵乘以 3 x 1 矩阵 [x,y,1] 得到最终坐标。

但是,所得坐标 (x', y') 似乎与给定点 (x,y) 不一致。

enter image description here

最佳答案

Micka建议,在得到结果矩阵(3x1)后,解决这个问题所需的就是:p' = (x'/z', y'/z')

步骤如下:

  1. 计算四边形和矩形平面之间的单应矩阵
  2. 乘以这个单应矩阵。与候选点 [x,y,1]T 并得到 [x',y',z']T
  3. 现在,在 [x',y',z']T 之上进行去均化,即 [(x'/z'), (y'/z'), 1]T

    由此得到所需的矩形平面的最终坐标。

关于image - 透视变换四边形平面中的给定点(x,y)到矩形平面的点(x',y')?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25638280/

相关文章:

css - 如何使段落中的图像 float

html - 中间重叠个人资料图片

numpy - 调用 cv2.rectangle 时无法绘制框

java - 如何镜像显示OpenCV JavaCameraView前置摄像头(Android)?

image-processing - 在变换域中将 JPEG 快速缩放到一半或四分之一

python - 如何使用python将盐和胡椒粉噪声仅应用于图像的特定部分?

CSS/HTML5 响应式标题图像

asp.net - 使用 C#/.NET 将图像上传到服务器并将文件名存储在数据库中

python - minAreaRect OpenCV [Python] 返回的裁剪矩形

c# - 在 .NET 中加载 Canon .CR2 文件