cv2.createTrackbar используя python

python opencv

13037 просмотра

1 ответ

78 Репутация автора

Я новичок в Python и OpenCV, я хочу создать трек-бар для управления иерархией функции cv2.findContours, но я не знаю, как добавить его в исходный код, ее код:

import cv2
import cv2.cv as cv

cv2.namedWindow("test")
vc = cv2.VideoCapture(2);
retVal, frame = vc.read();
while True:
    if frame is not None:   
        imgray = cv2.cvtColor(frame,cv2.COLOR_BGR2GRAY)
        ret,thresh = cv2.threshold(imgray,127,255,0)
        contours, hierarchy = cv2.findContours(thresh,cv2.RETR_EXTERNAL,cv2.CHAIN_APPROX_SIMPLE)

        cv2.drawContours(frame, contours, -1, (0,255,0), 2)

        cv2.imshow("test", frame)

     rval, frame = vc.read()

     if cv2.waitKey(1) & 0xFF == 27:
          break

cv.DestroyAllWindows()

заранее спасибо

Автор: LaMorena Источник Размещён: 13.04.2014 07:19

Ответы (1)


9 плюса

206 Репутация автора

Решение

Я надеюсь, что вы уже решили свои проблемы, но я постараюсь объяснить, если вы этого не сделали. Вы можете создать окно с помощью именованной оконной функции, а затем связать трекбар с этим окном.

cv2.namedWindow('test')
cv2.createTrackbar('thrs1', 'test', 300, 800, callback)
# Do whatever you want with contours
cv2.imshow('test', frame)

Вы найдете функцию createTrackbar, объясненную здесь: cv2.createTrackbar

обратный вызов - это указатель на функцию, которая будет вызываться каждый раз, когда слайды изменяют свою позицию.

Автор: Marc Размещён: 03.06.2014 11:59
Вопросы из категории :
32x32