【问题标题】:Analyze an image in specific area and determine if it's red using Opencv Python使用 Opencv Python 分析特定区域中的图像并确定它是否为红色
【发布时间】:2018-05-16 05:20:01
【问题描述】:

我在树莓派中使用 Opencv python 来分析热图,我正在寻找代表最高温度的红色,我需要检测特定区域中是否存在红色,以防万一可以使用此信息来激活条件,我正在使用这样的热图:

对于红色检测,我使用以下代码:

import cv2
import numpy as np

while(1):

    # Take each frame

    frame = cv2.imread('heatmap.png')

    # Convert BGR to HSV
    hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

    # define range of blue color in HSV
    lower_red = np.array([-20, 100, 100])
    upper_red = np.array([13, 255, 255])

    # Threshold the HSV image to get only blue colors
    mask = cv2.inRange(hsv, lower_red, upper_red)


    # Bitwise-AND mask and original image
    res = cv2.bitwise_and(frame,frame, mask= mask)

    cv2.imshow('heatmap',frame)
    cv2.imshow('mask',mask)
    cv2.imshow('res',res)
    k = cv2.waitKey(5) & 0xFF
    if k == 27:
        break

cv2.destroyAllWindows()

上面的代码给了我所有红色的像素,但我需要确定热图轮廓是否为红色,我的意思是图像轮廓或边框将是红色不允许的区域,有谁可以做到这一点?

【问题讨论】:

    标签: python opencv raspberry-pi heatmap color-detection


    【解决方案1】:

    您的 HSV 范围不正确。对于红色,(0,20,20)~(8,255,255), (170,20,20) ~ (180,255,255)


    这是我的结果:


    代码:

    #!/usr/bin/python3
    # 2018/05/16 13:54:09 
    import cv2
    import numpy as np
    
    img = cv2.imread('heatmap.png')
    # Convert BGR to HSV
    hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
    mask1 = cv2.inRange(hsv, (0,20,20), (8,255,255))
    mask2 = cv2.inRange(hsv, (170,20,20), (180,255,255))
    mask = cv2.bitwise_or(mask1, mask2)
    dst  = cv2.bitwise_and(img, img, mask=mask)
    cv2.imshow("dst", dst)
    cv2.imwrite("__.png", dst)
    cv2.waitKey()
    

    一些有用的链接:

    1. Choosing the correct upper and lower HSV boundaries for color detection with`cv::inRange` (OpenCV)
    2. How to define a threshold value to detect only green colour objects in an image :Opencv

    【讨论】:

    • 非常感谢,我问你一些别的问题,你知道如何确定红点坐标吗?所以我可以在 if 中使用该信息
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多