我是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()
先感谢您
希望您现在已经解决了您的问题,但是如果您还没有解决的话,我会尽力向您解释。您可以使用命名窗口功能创建一个窗口,然后将轨迹栏与该窗口关联。
cv2.namedWindow('test') cv2.createTrackbar('thrs1', 'test', 300, 800, callback) # Do whatever you want with contours cv2.imshow('test', frame)
您将在此处找到函数createTrackbar: cv2.createTrackbar
callback是指向每次幻灯片更改其位置时都会调用的函数的指针。