西门子流量累计程序:寻找西门子之星的中心(siemens star)

我必须找到 aSiemens star的中心。(西门子星是相机校准中使用的标准图像。)

对于人类来说非常容易,但我无法弄清楚使用哪些 (最好是 OpenCV) 方法。我正在使用 Python

enter image description here

我试过使用边缘检测,我想我可以得到边缘轮廓,然后做一些线的方程,然后看看那些线相交的地方。但是我得到一些杂乱的线条在边缘,轮廓都是不相交的 (或者也许我不理解它们...)。这里是用这个代码找到的轮廓:

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()

enter image description here

无论如何,有什么技巧来解决这样的问题?假设我是 n00b..

0

这是我最后做的。它不是很健壮,但现在可能已经足够好了。仅仅取 cols 和 rows 的总和就可以得到一个峰值或下降-在一些猜测的位置附近找到最大值或最小值就可以得到中心。

sum_cols, sum_rows = np.sum(img, axis=0), np.sum(img, axis=1)

enter image description here

不幸的是,有一些少数情况下这不起作用。随着恒星的旋转,中心的最小值或最大值从最小值疯狂地翻转到最大值。在翻转的中间,对于图像猜测的中心周围的有限距离,它既不是最小值也不是最大值。如果您有任何建议,请随时提供更好的建议...

本站系公益性非盈利分享网址,本文来自用户投稿,不代表边看边学立场,如若转载,请注明出处

(437)
起诉程序:Optaplanner:在起诉书列表中自定义包含
上一篇
Drop lt:“lt”在“[ifltIE9]”中的含义是什么
下一篇

相关推荐

  • Drop lt:“lt”在“[ifltIE9]”中的含义是什么

    关于Drop lt的问题,在what ie means中经常遇到,下面的脚本中lt的含义是什么?…

    2022-11-23 08:48:51
    0 31 75
  • 起诉程序:Optaplanner:在起诉书列表中自定义包含

    关于起诉程序的问题,在indictment list中经常遇到,tl;dr在起诉书列表中,是否有一种方法可以仅包含(例如)来自BiConstraintStream<A,B>的对象A?除了这个问题之外,是否可以在ProblemFact的构造期间在ProblemFact上设置对PlanningEntitys 的引用,以便稍后在计算期间快速引用它们?…

    2022-11-23 08:45:45
    0 32 29

发表评论

登录 后才能评论

评论列表(13条)