Python - 如何检测多个缩略图的硬边并保存坐标?

时间:2018-01-16 01:10:13

标签: python image-processing

我们有一个扫描的白页 - A4尺寸,包含多个缩略图。 缩略图类似但不完全相同。 缩略图可以是随机顺序,而不是非常清晰的行和列。它们不是完全随机的,而是排成行,但这些行不是很准确。

  1. A4页面背景颜色为白色
  2. 所有缩略图的黑色边框均为5px,边框半径为10像素 缩略图中的每个人都包含一个绿色圆圈(可能位于中心或靠近该中心的位置)。

    1。我们如何检测每个缩略图的硬边并存储坐标,以便我们裁剪缩略图以便以后处理和分析颜色?

    2. 我们如何检测中心的圆圈。我们想要分析并获取包含在该圆中的所有像素RGB值,然后计算平均RGB值。

  3. 更新

    这是图片:

    enter image description here

    谢谢

1 个答案:

答案 0 :(得分:2)

主要想法:由于区域之间有足够的空白,因此每个区域只有render() crop。然后,对于每个区域,使用contours检测其中的圆圈。

你的形象是这样的:

enter image description here

找到外部轮廓并计算边界框后:

enter image description here

对于每个轮廓,裁剪并找到其中的hough圆圈。

enter image description here

注意:我不会为此问题提供我的代码

但为您发布一些链接可能很有用。自学和做:

  1. Copy shape to blank canvas (OpenCV, Python)
  2. cv2.drawContours() - unfill circles inside characters (Python, OpenCV)
  3. How to detect colored patches in an image using OpenCV?
  4. Edge detection on colored background using OpenCV
  5. How can I get the minimum enclosing circle with OPENCV?
  6. How can I prepare circle path text image for OCR program?
  7. <强>更新

    要检测圆圈,您应该选择正确的参数,取决于您的源图像

    enter image description here

    尝试!尝试!试试吧!

    以下是我尝试的圆圈检测:

    houghCircle