我必须找到Siemens star的中心。 (西门子星是用于相机校准的标准图像。)
人类很容易,但我无法弄清楚使用哪种(最好是OpenCV)方法。我正在使用Python。
我尝试过使用边缘检测,我想我可以得到边缘轮廓,然后制作一些线的方程,然后看看那些线相交的位置。但是我得到了一些凌乱的线条,边缘有杂乱,轮廓都是不相交的(或许我不理解它们......)。以下是此代码中的轮廓:
from OpenCVX import cvx2
filepath = 'img.jpg'
img = cvx2.imread(filepath, 0)
ret, thresh = cvx2.threshold(img, 127, 255, 0)
im2, contours, hierarchy = cvx2.findContours(thresh, cvx2.RETR_TREE, cvx2.CHAIN_APPROX_SIMPLE)
cvx2.drawContours(img, contours, -1, (255,255,255), 3)
plt.imshow(img)
plt.show()
无论如何,有什么技巧可以解决这样的问题吗?假设我是n00b ..