将mp4视频文件转换为python中的灰度并获取Source为空错误

问题描述 投票:0回答:1

无法将视频媒体文件夹导入程序以转换为灰度。

import cv2 
import numpy as np

# The video feed is read in as a VideoCapture object
cap = cv2.VideoCapture(r'C:\Users\Mark\Desktop\Research\Source\Video\Traffic01.mp4')

# ret = a boolean return value for getting the frame
ret, first_frame = cap.read()

# Converts frame to grayscale
prev_gray = cv2.cvtColor(cv2.UMat(first_frame), cv2.COLOR_RGB2GRAY)

while(cap.isOpened()):

    # ret = a boolean return value from getting the frame
    ret, frame = cap.read()

    # Converts each frame to grayscale 
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Frames are read by intervals of 10 milliseconds. 
    #The programs breaks out of the while loop when the user presses the 'q' key
    if cv2.waitKey(10) & 0xFF == ord('q'):
        break

cap.release()
cv2.destroyAllWindows()

错误:OpenCV(4.2.0)C:\ projects \ opencv-python \ opencv \ modules \ imgproc \ src \ color.cpp:182:错误:(-215:声明失败)函数'cv :: cvtColor']中的!_src.empty()

无法将视频媒体文件夹导入程序以转换为灰度。 import cv2 import numpy as np#视频输入作为VideoCapture对象cap = cv2.VideoCapture(r'C:\ Users \ Mark \ ...

python opencv video video-capture grayscale
1个回答
0
投票

为什么那个UMat在那儿?这似乎可以回答问题src.empty()来自openCV UMat的文档是/确实是:-构造2D矩阵,并用指定的值_s填充它。而cvtcolor需要源图像/帧

© www.soinside.com 2019 - 2024. All rights reserved.