首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么此Python Open CV程序中的轨迹栏不会显示?

为什么此Python Open CV程序中的轨迹栏不会显示?
EN

Stack Overflow用户
提问于 2014-11-09 11:46:05
回答 1查看 2.5K关注 0票数 0

我目前正在学习如何使用python的Open CV,我正在尝试编写一个程序,以从基于hsv值范围的网络摄像头实时查看图像。当我运行程序时,我能够让网络摄像头工作(它像预期的那样显示一个黑屏),但由于某种原因,用于调整hsv范围的跟踪条不显示。有人有什么解决方案吗?谢谢。

代码语言:javascript
复制
import cv2
import numpy as np
cap = cv2.VideoCapture(0)

def nothing(x):
    pass


#creates three trackbars for color change
cv2.createTrackbar('H','frame',0,255,nothing)
cv2.createTrackbar('S','frame',0,255,nothing)
cv2.createTrackbar('V','frame',0,255,nothing)

while(1):
    # Capture frame-by-frame
    _, frame = cap.read()

    #creates trackbars
    h = cv2.getTrackbarPos('H','frame')
    s = cv2.getTrackbarPos('S','frame')
    v = cv2.getTrackbarPos('V','frame')


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

    # define color strenght parameters in HSV
    weaker = np.array([h+10, s+10, v+10])
    stronger = np.array([h-10,s-10,v-10])


    # Threshold the HSV image to obtain input color
    mask = cv2.inRange(hsv, weaker, stronger)

    #displays mask
    cv2.imshow('Result',mask)

    #terminates program
    if cv2.waitKey(1) == ord('q'):
        break

cv2.waitKey(0)
cv2.destroyAllWindows()
EN

回答 1

Stack Overflow用户

发布于 2014-11-09 11:59:51

cv2.createTrackbar('H','frame',0,255,nothing)的第二个参数应该是将显示轨迹栏的窗口的名称。您已经使用了frame,但是在您的代码中似乎没有打开一个名为frame的窗口。您可以通过添加

代码语言:javascript
复制
cv2.namedWindow('frame')

或者将显示行更改为

代码语言:javascript
复制
cv2.imshow('frame', mask)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26824777

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档