OpenCV - трекбар не появляется - размер окна не изменяется - PullRequest
0 голосов
/ 07 мая 2020

Вот мой код, окно, похоже, не изменяет размер и не показывает ни одну из полос прокрутки. Это просто показывает пустое окно.

import cv2

def empty(a):
    pass

cv2.namedWindow("Trackbars")
cv2.resizeWindow("Trackbars",640,300)
cv2.createTrackbar("Hue Min","Trackbars",0,179,empty)
cv2.createTrackbar("Hue Max","Trackbars",179,179,empty)
cv2.createTrackbar("Sat Min","Trackbars",0,255,empty)
cv2.createTrackbar("Sat Max","Trackbars",255,255,empty)
cv2.createTrackbar("Val Min","Trackbars",0,255,empty)
cv2.createTrackbar("Val Max","Trackbars",255,255,empty)

1 Ответ

1 голос
/ 07 мая 2020

Согласно namedWindow API в Python:

Python:
    None = cv.namedWindow( winname[, flags] )

Вы должны передать cv2.WINDOW_NORMAL в качестве аргумента флага. Это позволяет вам изменять размер window.

Напоминаем, что вы не увидите окно без l oop, потому что оно закроется сразу после создания окна. Я предлагаю вам добавить l oop как waitKey в конце кода.

Вот модифицированный код для демонстрации:

import cv2

def empty(a):
    pass

cv2.namedWindow("Trackbars", cv2.WINDOW_NORMAL)
cv2.resizeWindow("Trackbars",640,300)
cv2.createTrackbar("Hue Min","Trackbars",0,179,empty)
cv2.createTrackbar("Hue Max","Trackbars",179,179,empty)
cv2.createTrackbar("Sat Min","Trackbars",0,255,empty)
cv2.createTrackbar("Sat Max","Trackbars",255,255,empty)
cv2.createTrackbar("Val Min","Trackbars",0,255,empty)
cv2.createTrackbar("Val Max","Trackbars",255,255,empty)

ch = None
while ch != 27:
    ch = cv2.waitKey(0)
...