我使用 OpenCV 库(Win7 x64 和 Visual Studio 2010)。
我的工作包括检测一个经常旋转的矩形。为了检测矩形,我使用squares.cpp
OpenCv,而不是使用返回的点findSquares()
来创建一个 RotatedRect,这样:
for (size_t i = 0; i <squares.size(); i++) {
RotatedRect box= cv::minAreaRect(Mat(squares[i]));
哪里squares
是返回的向量findSquares()
。
现在我的问题是:当我box.angle
在终端上打印时,我看到了一个奇怪的行为。有,在这张图片中
是box.angle
正确的(大约是 0°)。但是,当我稍微改变我的相机位置时,box.angle
变成了大约 -88°,正如你在第二张图片中看到的那样:
我不明白为什么!!!!
有谁知道为什么这种奇怪的行为???
谢谢!