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

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)
    
    
    已采纳该答案
    1 打赏 评论
  • CSDN专家-AI菌 2021-08-31 23:26

    换一个颜色空间设置阈值,多尝试一下。除了hsv,比如rgb、lab等等你都可以尝试。

    1 打赏 评论
  • 翟羽嚄 2021-09-01 17:45

    代码和图片发出来。
    先在网上找个橙色hsv各个参数大体范围,再细调整。

    打赏 评论

相关推荐 更多相似问题