Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
OpenCV2(Python)的播放分辨率不正确_Python_Opencv_Image Processing - Fatal编程技术网

OpenCV2(Python)的播放分辨率不正确

OpenCV2(Python)的播放分辨率不正确,python,opencv,image-processing,Python,Opencv,Image Processing,最近我遇到了一个问题,一个简单的OpenCV过程中的回放分辨率是从原始源代码中膨胀出来的。下面是代码。原始视频是分辨率为694x1080的MP4。当我运行脚本时,帧宽度和高度列为704x1088。额外的像素是从哪里来的?我关心的唯一原因是我需要在背景减法中使用捕获的帧,现在这两幅图像的分辨率不同。更令人困惑的是,我在家里的电脑上没有这个问题,只有在我的工作电脑上,我不想写两个程序来适应这两台电脑。最后,工作PC在VLC上以正确的分辨率播放视频。我真的不知道这是从哪里来的,也不知道如何解决它。此外

最近我遇到了一个问题,一个简单的OpenCV过程中的回放分辨率是从原始源代码中膨胀出来的。下面是代码。原始视频是分辨率为694x1080的MP4。当我运行脚本时,帧宽度和高度列为704x1088。额外的像素是从哪里来的?我关心的唯一原因是我需要在背景减法中使用捕获的帧,现在这两幅图像的分辨率不同。更令人困惑的是,我在家里的电脑上没有这个问题,只有在我的工作电脑上,我不想写两个程序来适应这两台电脑。最后,工作PC在VLC上以正确的分辨率播放视频。我真的不知道这是从哪里来的,也不知道如何解决它。此外,opencv将忽略代码中的.set函数。有什么想法吗

import cv2

video = cv2.VideoCapture('Fish_test1.mp4')
video.set(cv2.cv.CV_CAP_PROP_FRAME_WIDTH, 694)
video.set(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT, 1080)
bg = cv2.imread('Background_image.jpg')
cv2.namedWindow('Video')


while (1):
    success, image = video.read()
    print(video.get(cv2.cv.CV_CAP_PROP_FRAME_WIDTH), video.get(cv2.cv.CV_CAP_PROP_FRAME_HEIGHT))

    cv2.imshow('Video', image)
    cv2.imshow('BG', bg)

    k = cv2.waitKey(50)

    if k == 27:
        break
    if success == False:
        break

cv2.destroyAllWindows()

你解决过这个问题吗?我刚刚遇到了完全相同的问题…不幸的是没有。我仍然不确定问题是什么。很抱歉