OpenCV getRectSubPix:为什么它的公式使用(dst.cols - 1)* 0.5?

时间:2015-03-17 16:14:08

标签: opencv formula

在他们的文件中: http://docs.opencv.org/modules/imgproc/doc/geometric_transformations.html#getrectsubpix

公式为:

dst(x, y) = src(x + center.x - ( dst.cols -1)*0.5, y +  center.y - ( dst.rows -1)*0.5)

但为什么我们需要使用(dst.cols - 1)? 我想我们应该直接使用dst.cols和dst.rows。

1 个答案:

答案 0 :(得分:1)

这是因为位置是从0开始的。

考虑dest_cols == 9时会发生什么。使用该公式,其中心位于4,这是正确的。使用您的版本,其中心位于4.5,不正确。

现在考虑dest_cols == 10时会发生什么。使用该公式,其中心位于4.5,这是正确的。使用您的版本,其中心位于5,不正确。