Я хочу показать фильм кадр за кадром и выполнить некоторые морфологические операции над кадром, используя Trackbars
. Перед созданием соответствующего элемента структурирования мне нужно указать его характеристики, такие как длина, степень и итерации
Мой код:
import cv2
video = cv2.VideoCapture('arsenal_spurs.mp4')
cv2.namedWindow('Trackbar strel')
def morphology_operations(val):
length = cv2.getTrackbarPos('length', 'Trackbar strel')
degrees = cv2.getTrackbarPos('degrees', 'Trackbar strel')
iter_num = cv2.getTrackbarPos('iterations', 'Trackbar strel')
print(length, degrees, iter_num)
return length, degrees, iter_num
cv2.createTrackbar('Length', 'Trackbar strel', 1, 50, morphology_operations)
cv2.createTrackbar('Degrees', 'Trackbar strel', 10, 180, morphology_operations)
cv2.createTrackbar('Iterations', 'Trackbar strel', 1, 10, morphology_operations)
while True:
ret, frame = video.read()
if ret:
morphology_operations(0)
cv2.imshow('frame', frame)
# keys to move through the frames
key = cv2.waitKey(1)
while key not in [ord('q'), ord('>')]:
key = cv2.waitKey(0)
if key == ord('q'):
break
else:
break
video.release()
cv2.destroyAllWindows()
КогдаЯ запускаю код, который я получаю Trackbars
и frame
. Однако значения трех переменных всегда -1
. Также, когда я перетаскиваю Trackbars
к другим значениям, я получаю -1
в качестве вывода.
Что я здесь не так делаю? Спасибо
![enter image description here](https://i.stack.imgur.com/WN42d.jpg)