查找图像中颜色方块的轮廓和中点

时间:2019-09-14 22:02:54

标签: python opencv image-processing scikit-image

我有一个带有彩色正方形的图像:

Image of the squares

我正在尝试查找颜色正方形的轮廓以及颜色正方形的中点以找到像素值。

1 个答案:

答案 0 :(得分:0)

您可以使用HSV colour space,但必须手动选择一系列颜色。

根据颜色更改H的值,并为0-255S保留V的整个范围,也可以将它们限制为更具体。

然后,您可以使用轮廓在检测到的轮廓周围绘制边界框并找到中心。

这是代码

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('UQjNf.jpg')

hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)

bi = np.zeros((hsv.shape[:2]),np.uint8)

bi[np.where((((hsv <= [20,255,255]) & (hsv >= [20,0,0])) | (hsv <= [21,255,255]) & (hsv >= [21,0,0]) | ((hsv <= [22,255,255]) & (hsv >= [22,0,0])) ).all(axis = 2))] = [255]

plt.imshow(bi)
plt.xticks([]), plt.yticks([])  # to hide tick values on X and Y axis
plt.show()

这是一种很好的颜色 enter image description here

希望有帮助。