|
|
1
3
首先,您可能希望在图片上设置一个阈值,以便将所有灰色元素转换为白色或黑色,以便于检测。
然后我们可以检测图像中的第二大轮廓,它应该是我们的黑色半圆(最大轮廓将是整个图像边界附近的轮廓)。这是通过findContours()函数完成的:
最后,您可以使用HoughLines查找图像中最长的线,该线应该是半圆的边缘。这里你可以得到描述它的角度,ρ和θ,这很可能是你想知道的。如果我们取这些角度得到x,y点,然后像这样画在图像上:
然后,我们可以确保检测到正确的线路,在这种情况下,这似乎很好:
希望这有助于为您指出正确的方向,至少手动将图像旋转到几个位置对我来说效果很好。第[0]行中的角度应该是您在此处查找的角度。 |
|
|
2
0
我有一个cv2的问题。发现的恐龙。它似乎返回3个值,而不是2个。除此之外,代码成功地检测并裁剪了图像,但在最后一步中没有找到行。还有一个问题,如果图片旋转超过180度,它将给出错误的结果,因为线条旋转超过180度。在黑色方块中使用白色小方块应该可以解决这个问题,并为图像添加180度的偏移,这取决于此,但我也不确定如何做到这一点。
这是一张示例输出的图片(我在手机上放了一张磁盘的图片,然后在相机前旋转它得到了这张图片):
|
|
|
VeceluXa · 在Android中将黑白位图转换为单通道JPEG 2 年前 |
|
|
Mohamed Obeid · 在灰度图像上散射网格 2 年前 |
|
|
Pete · 三维体积与其主轴对齐 2 年前 |
|
|
Doofenmirtz Mirtz · 录制视频中特定对象的角度检测 2 年前 |