openCVのマルチトラッキングをする時にトラッキングする場所を四角で囲むのですが、スマホで撮影した動画を表示すると大きすぎてPCの画面収まらず、動画の下の方が表示されないのですが、このような場合、resizeで動画を圧縮せずに動画を全て表示させる方法はありますか?
python
1 2import numpy as np 3import cv2 as cv 4import sys 5 6if len(sys.argv) != 2: 7 print('Input video name is missing') 8 exit() 9 10print('Select 3 tracking targets') 11 12cv.namedWindow("tracking") 13camera = cv.VideoCapture(sys.argv[1]) 14tracker = cv.MultiTracker_create() 15init_once = False 16 17ok, image=camera.read() 18if not ok: 19 print('Failed to read video') 20 exit() 21 22bbox1 = cv.selectROI('tracking', image) 23bbox2 = cv.selectROI('tracking', image) 24bbox3 = cv.selectROI('tracking', image) 25 26while camera.isOpened(): 27 ok, image=camera.read() 28 if not ok: 29 print 'no image to read' 30 break 31 32 if not init_once: 33 ok = tracker.add(cv.TrackerMIL_create(), image, bbox1) 34 ok = tracker.add(cv.TrackerMIL_create(), image, bbox2) 35 ok = tracker.add(cv.TrackerMIL_create(), image, bbox3) 36 init_once = True 37 38 ok, boxes = tracker.update(image) 39 print ok, boxes 40 41 for newbox in boxes: 42 p1 = (int(newbox[0]), int(newbox[1])) 43 p2 = (int(newbox[0] + newbox[2]), int(newbox[1] + newbox[3])) 44 cv.rectangle(image, p1, p2, (200,0,0)) 45 46 cv.imshow('tracking', image) 47 k = cv.waitKey(1) 48 if k == 27 : break # esc pressed 49
あなたの回答
tips
プレビュー