我正在将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滤镜,用它的颜色标记每个正方形。
谢谢, 凯尔
答案 0 :(得分:0)
之后,您可以从轮廓中心获取样本,如下所示。
for c in contours:
x,y,w,h = cv2.boundingRect(c)
由于x和y是轮廓c的中心点;最后,您要做的就是将HSV蒙版应用到中心点。