萌新中的萌新中的萌新 2021-08-31 20:50 采纳率: 76.5%
浏览 124
已结题

opencv识别橙色的有关问题

img
为什么识别度那么低,,最好只能调成这样,,大,,佬,,求解。。

  • 写回答

3条回答 默认 最新

  • 翟羽嚄 博客专家认证 2021-09-02 10:23
    关注

    这是我调了一下参数的效果,

    img

    你可以用这个参数

    
    h_min = 2
    h_max = 25
    s_min = 200
    s_max = 255
    v_min =115
    v_max = 255
    

    还有你提供的代码,似乎那个滑动条不能准确修改参数。下面是我的代码

    import cv2
    import numpy as np
    
    img = cv2.imread("55.png")
    cv2.imshow("img", img)
    
    cv2.waitKey(1)
    imghsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
    
    h_min = 2
    h_max = 25
    s_min = 200
    s_max = 255
    v_min =115
    v_max = 255
    
    print(h_min, h_max, s_min, s_max, v_min, v_max)
    lower = np.array([h_min, s_min, v_min])
    upper = np.array([h_max, s_max, v_max])
    mask = cv2.inRange(imghsv, lower, upper)
    cv2.imshow("imghsv", imghsv)
    cv2.imshow("1", mask)
    
    h_min = 7
    h_max = 25
    s_min = 200
    s_max = 255
    v_min =115
    v_max = 255
    print(h_min, h_max, s_min, s_max, v_min, v_max)
    lower = np.array([h_min, s_min, v_min])
    upper = np.array([h_max, s_max, v_max])
    mask = cv2.inRange(imghsv, lower, upper)
    cv2.imshow("2", mask)
    
    h_min = 9
    h_max = 25
    s_min = 200
    s_max = 255
    v_min =115
    v_max = 255
    print(h_min, h_max, s_min, s_max, v_min, v_max)
    lower = np.array([h_min, s_min, v_min])
    upper = np.array([h_max, s_max, v_max])
    mask = cv2.inRange(imghsv, lower, upper)
    cv2.imshow("3", mask)
    
    
    cv2.waitKey(1000)
    cv2.waitKey(0)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 9月10日
  • 已采纳回答 9月2日
  • 创建了问题 8月31日