在开放式简历中阅读视频时遇到问题。当我运行输出时,它不会显示整个视频。就像放大的视频。输出视频与原始视频不同。如何显示整个视频?我是python的新手,打开cv。下面是输出的屏幕截图。
vidCap = cv2.VideoCapture('video.mp4')
while (True):
success, img = vidCap.read()
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
th, bw = cv2.threshold(gray, 170, 255, cv2.THRESH_BINARY)
bw = imclearborder(bw)
RemoveTop(bw, round(bw.shape[0] * 0.6))
RemoveTriangle(bw)
bw = bwareaopen(bw, 700)
blueMask = img.copy()
blueMask[:, :] = (255, 0, 0)
cv2.copyTo(blueMask, bw, img)
cv2.imshow('Output', img)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
vidCap.release()
cv2.destroyAllWindows()
我希望输出显示的视频与原始视频相同
答案 0 :(得分:0)
我猜你的视频分辨率大于屏幕分辨率。
第一张图片来自opencv窗口,我相信第二张图片不是由opencv生成的,而是由视频播放器生成的,该视频播放器会缩小视频以适合您的屏幕。
您应该使用以下未经测试的代码来调整img的大小:
imgToShow = cv.resize(img, img.size()/2)
cv2.imshow(imgToShow)
我将opencv与C ++一起使用,而不是与Python一起使用,因此请检查语法。
答案 1 :(得分:0)
scale_percent = 60 # percent of original size
width = int(img.shape[1] * scale_percent / 100)
height = int(img.shape[0] * scale_percent / 100)
dim = (width, height)
resized = cv2.resize(img, dim, interpolation=cv2.INTER_AREA)
cv2.imshow('Output', resized)