轮廓

时间:2017-03-28 17:44:41

标签: python opencv

我正在将Python3与OpenCV一起用于项目。我正在使用相机从空中位置拍摄图像。有3种不同的颜色方块在触摸,背景混乱。我能够消除整个背景,并获得包含3个方格的单个轮廓。

如何在该轮廓内搜索以确定哪个颜色方块是哪个?

  def filter_size(self, pixel_size):
    _, cnt, _ = cv2.findContours(self.processed_image, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
    for c in cnt:
        if cv2.contourArea(c) > pixel_size:
            self.countours.append(c)  #  contains my found contours

Contour

我希望能够在该轮廓中使用我的HSV滤镜,用它的颜色标记每个正方形。

谢谢, 凯尔

1 个答案:

答案 0 :(得分:0)

  1. 既然您已经找到了轮廓区域,则可以在轮廓内部进行迭代并找到最终以3个轮廓结尾的新轮廓。
  2. 之后,您可以从轮廓中心获取样本,如下所示。

    for c in contours: x,y,w,h = cv2.boundingRect(c)

  3. 由于x和y是轮廓c的中心点;最后,您要做的就是将HSV蒙版应用到中心点。