Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.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
Opencv 如何将rgb视频转换为灰度并保存?_Opencv_Video_Computer Vision_Video Processing_Video Capture - Fatal编程技术网

Opencv 如何将rgb视频转换为灰度并保存?

Opencv 如何将rgb视频转换为灰度并保存?,opencv,video,computer-vision,video-processing,video-capture,Opencv,Video,Computer Vision,Video Processing,Video Capture,我是python新手,我想将彩色视频转换为灰度,然后保存它。 我试着用这段代码把它变成灰度,但我不能保存它。有什么想法吗 import cv2 source = cv2.VideoCapture('video.mp4') while True: ret, img = source.read() gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) cv2.imshow('Live', gray) key = cv2.waitKey(1) if

我是python新手,我想将彩色视频转换为灰度,然后保存它。 我试着用这段代码把它变成灰度,但我不能保存它。有什么想法吗

import cv2

source = cv2.VideoCapture('video.mp4')
while True:
    ret, img = source.read()

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

cv2.imshow('Live', gray)

key = cv2.waitKey(1)
if key == ord('q'):
    break

cv2.destroyAllWindows()
source.release()

这是如何将RGB视频文件写入灰度视频的方法

# importing the module 
import cv2 
import numpy as np
  
# reading the vedio 
source = cv2.VideoCapture('input.avi') 

# We need to set resolutions. 
# so, convert them from float to integer. 
frame_width = int(source.get(3)) 
frame_height = int(source.get(4)) 
   
size = (frame_width, frame_height) 

result = cv2.VideoWriter('gray.avi',  
            cv2.VideoWriter_fourcc(*'MJPG'), 
            10, size, 0) 
  
# running the loop 
while True: 
  
    # extracting the frames 
    ret, img = source.read() 
      
    # converting to gray-scale 
    gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 

    # write to gray-scale 
    result.write(gray)

    # displaying the video 
    cv2.imshow("Live", gray) 
  
    # exiting the loop 
    key = cv2.waitKey(1) 
    if key == ord("q"): 
        break
      
# closing the window 
cv2.destroyAllWindows() 
source.release()

如果这对您有帮助,请使用
cv2.VideoWriter
编写输出视频。您必须定义编解码器和帧速率。这是否回答了您的问题?嘿,你能帮我打印灰度视频矩阵吗?联系我jmlahirujayasundara@gmail.com