opencv inRange小记

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

使用前将颜色二值化

img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

需要注意的是参数支持rgb但是识别效率不高,建议二值化( lowerb upperb )

mask = cv2.inRange(img_gray, 155, 165)
contours, hierarchy = cv2.findContours(
mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

绘制指定大小矩形

for cnt in contours:
    area = cv2.contourArea(cnt)
    if 600 < area < 800:
        cv2.drawContours(img, [cnt], 0, (0, 0, 255), 2)

识别前


image.png

识别后


image.png

你可能感兴趣的:(opencv inRange小记)