【发布时间】:2016-08-24 07:00:18
【问题描述】:
我有一个图像的图像,其中内部图像是倾斜的并且有自己的坐标表(在其边缘可见):
现在我需要将实际图像的一个点转换为倾斜图像上的一个(x cm, y cm) 点。说,我想知道(x cm, y cm) 坐标实际图像的左下角((0, img.height()))有什么。也就是说,如果要外推内部图像的坐标表。
我已经知道了:
- 倾斜图像的角度
a - 从倾斜图像中手动选择两个点
p1和p2 - 这两点的厘米坐标
p1cm和p2cm
我可以通过将两个点比较在一起并获得它们的厘米距离和实际距离之间的比率来获得图像的比例:
double dCmX = p1cm.x() - p2cm.x();
double dCmY = p1cm.y() - p2cm.y();
double dCm = sqrt(pow(dCmX, 2) + pow(dCmY, 2))
double dPointX = p1.x() - p2.x();
double dPointY = p1.y() - p2.y();
double dPoint = sqrt(pow(dPointX, 2) + pow(dPointY, 2))
double scale = dPoint / dCm;
但我不知道如何以厘米坐标获取左下角的坐标。
【问题讨论】:
-
这只是一个三角问题。如果您能掌握en.wikipedia.org/wiki/Rotation_matrix 中的概念,那么这将非常简单地退出。或者考虑在数学网站上提问。
标签: c++ image image-processing coordinates coordinate-transformation