【问题标题】:Finding the center of these pictures, OpenCV-Python找到这些图片的中心,OpenCV-Python
【发布时间】:2021-04-22 12:09:47
【问题描述】:

我想找到这些附加图像的确切中心。我尝试过的事情:

1- HoughCircles,但它不起作用,因为它不是一个完美的圆......

2- 对图片进行阈值处理,因此它全是黑白 -> 轮廓 -> 轮廓中心。这不适用于这两个图像。它给出了一个不正确的中心。

你们中有人知道我可以尝试的另一种方法吗?

编辑:在第一张图片中,您可以看到为什么仅以轮廓为中心是行不通的。它并不完全位于“圆圈”的中心

EDIT2:中心的定义可以在第二张图片中看到,圆同时接触所有“边”

谢谢,

【问题讨论】:

  • @frab,好的,谢谢,我会试试 Convex Hull,但它可能不适用于最后一张图像,因为轮廓不会对称
  • 请更准确地定义“精确中心”。如果它不是“可定义的”,您可能需要基于数据集的统计定义。
  • 拍摄前有没有考虑在物体上做标记?
  • 也许可以尝试计算蒙版图像的距离变换,最亮的像素离蒙版边缘最远 - 如果那是您的 “中心”

标签: python numpy opencv image-processing


【解决方案1】:

尝试以下方法:

  1. 使用 OTSU 方法对图像设置阈值(这将为您留下二值图像,其中只应保留中间部分。也许您必须稍微修改实际阈值)

  2. 在阈值图像上使用图像矩找到中心(参见例如https://docs.opencv.org/3.4/d0/d49/tutorial_moments.html

这假设与外面的区域相比,中间部分总是更亮。

【讨论】:

  • 是的,我在几分钟前尝试过,但给定的中心仍然偏离中心。
【解决方案2】:

您可以尝试的一种方法:

  1. Find corners
  2. Clean up outliers
  3. Average their locations

我希望这会处于中心位置。

如果不是,请更准确地定义问题。

【讨论】:

    猜你喜欢
    • 2013-03-27
    • 1970-01-01
    • 1970-01-01
    • 2020-11-14
    • 2023-01-12
    • 1970-01-01
    • 2022-11-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多