【发布时间】:2020-03-30 15:33:05
【问题描述】:
我在一个项目中使用 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
我希望能够在该轮廓内使用我的 HSV 过滤器,通过颜色标记每个正方形。
谢谢, 凯尔
【问题讨论】:
-
您可以提及基本颜色的颜色范围,并尝试搜索该颜色是否存在
-
@JeruLuke 是的,但是如何指定边界在我的轮廓内?
-
使用在线颜色代码转换器LIKE THIS
-
@JeruLuke 我确实认为你错过了我的观点。我不想在小轮廓内搜索整个图像。我知道如何过滤颜色,只是不知道如何指定位置范围
-
OK,既然你已经找到了想要的轮廓区域,你可以屏蔽掉不需要的区域