首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >输出视频与原始视频Open CV不同

问输出视频与原始视频Open CV不同
EN

Stack Overflow用户
提问于 2019-09-14 01:21:56
回答 2查看 185关注 0票数 0

在open cv中看视频的时候遇到了问题。当我运行输出时,它没有显示整个视频。它就像一个放大的视频。输出视频与原始视频不同。如何显示整个视频?我是一个python和open cv的新手。下面是输出的屏幕截图。

​

下面是视频的真实图像

​

代码语言:javascript
复制
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()

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

EN

回答 2

Stack Overflow用户

发布于 2019-09-14 03:01:26

我可以猜到你的视频分辨率比屏幕分辨率大。

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

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

代码语言:javascript
复制
imgToShow = cv.resize(img, img.size()/2)
cv2.imshow(imgToShow)

我在C++中使用opencv,而不是Python,所以请检查语法。

票数 0
EN

Stack Overflow用户

发布于 2019-09-14 15:38:24

代码语言:javascript
复制
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)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57927917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档