C++ OpenCV boundRect[].tl() 输出单元

C++ OpenCV boundRect[].tl() unit of output

本文关键字:输出 单元 tl OpenCV boundRect C++      更新时间:2023-10-16

我想知道我的boundRect[].tl()输出的单位是什么。

topleft = boundRect[largest_contour_index].tl();

我的假设是它以像素为单位。 如果是这样,我是否需要查看相机的像素及其输出的格式来计算对象的位置? 还是由于 OpenCV 将图像转换为 8 位图像,函数输出的像素会发生变化?我可以想象,当图像转换为 8 位时,图像组成的像素量会变小。

如果我错了,请纠正我。

谢谢!

首先,BoundingRect返回 x,y 坐标、宽度和高度。 您可以参考其文档:docs.opencv.org/2.4/modules/core/doc/basic_structures.html#rect

其次,8位图像转换基于颜色的像素值,与像素数没有直接关系。因此,将 100x100 图像转换为 8 位图像仍将是 100x100 像素