输出视频与原始视频不同

2024-09-29 19:33:29 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个问题,当阅读视频在公开简历。当我运行输出时,它不会显示整个视频。它就像一个放大的视频。输出视频与原始视频不同。如何显示整个视频?我是python和opencv的新手。下面是输出的屏幕截图。 enter image description here

下面是视频的真实图像 enter image description here

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()

我希望输出显示整个视频与原始视频相同


Tags: 图像img视频屏幕videocv2opencvmp4
2条回答
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)

我猜你的视频分辨率比屏幕分辨率大

第一个图像来自opencv窗口,我相信第二个图像不是由opencv生成的,而是由一个视频播放器生成的,它可以缩小视频以适应您的屏幕

您应该使用以下未经测试的代码调整img的大小:

imgToShow = cv.resize(img, img.size()/2)
cv2.imshow(imgToShow)

我使用C++的opencv,不带Python,请检查语法。

相关问题 更多 >

    热门问题