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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容