OpenCv中缩放Mat图像上点坐标的计算

时间:2013-06-26 11:15:16

标签: opencv scaling mat

如果我有一个Mat图像对象(OpenCV),其大小为960 * 720,我在其上计算了Point对象的坐标,然后我缩放此Mat图像,新尺寸为640 * 480,如何找到Point的新坐标?

2 个答案:

答案 0 :(得分:1)

原始矩阵中的点(x,y)将通过

映射到新矩阵中的(x',y')
(x',y') = 2*(x,y)/3.

将其减少为我们的OpenCV函数:

cv::Point scale_point(cv::Point p) // p is location in 960*720 Mat
{
    return 2 * p / 3;   // return location in 640*480 Mat
}

答案 1 :(得分:0)

我最终做的是创建一个扩展"customer 92345678 and customer 9234" 的{​​{1}}对象。这样,它对我刚刚使用普通ScaledPoint对象的代码的破坏性较小。

Point

然后,我计算了一个缩放因子,并在我扩展的类中使用它:

Point