numpy ret and frame是什么意思

twh00eeo  于 2023-03-23  发布在  其他
关注(0)|答案(5)|浏览(182)

什么时候使用ret和frame?这些变量都有什么值?我刚刚开始使用图像处理,所以如果有更多的变化一定要让我知道。
谢谢

import numpy as np
import cv2
cap = cv2.VideoCapture('Sample Lap HUL_OB_1.56.641_Graphic.mpg')

# Define the codec and create VideoWriter object
# fourcc = cv2.cv.CV_FOURCC(*'MJPG')
out = cv2.VideoWriter('output.mpg',0, 60.0, (640,480))
while(cap.isOpened()):
    ret, frame = cap.read()
    if ret==True:
         # frame = cv2.flip(frame,0)
         # write the flipped frame
        out.write(frame)
        cv2.imshow('frame',frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
             break
     else:
        break
# Release everything if job is finished
cap.release()
out.release()
cv2.destroyAllWindows()
e4yzc0pl

e4yzc0pl1#

ret, frame = cap.read()
  1. ret是一个布尔变量,如果帧可用,则返回true。
  2. frame是基于显式或隐式定义的默认每秒帧数捕获的图像阵列向量
ukdjmx9f

ukdjmx9f2#

“Frame”将获取相机中的下一帧(通过“cap”)。“Ret”将从获取相机帧中获取返回值,true或false。我建议您阅读OpenCV教程(非常详细),例如面部识别:http://docs.opencv.org/modules/contrib/doc/facerec/facerec_tutorial.html

hiz5n14c

hiz5n14c3#

这在cap.read文档中有解释。由于capVideoCapture对象,使用Google的“VideoCapture opencv Read”将立即引导您到openCV的文档。read函数文档将指向grab,它将详细解释retval
方法/函数从视频文件或相机中抓取下一帧并返回...

az31mfrm

az31mfrm4#

请参阅文档here
上面写着:
cap.read()返回一个bool(True/False)。如果帧被正确读取,它将是True。所以你可以通过检查这个返回值来检查视频的结束。

kg7wmglp

kg7wmglp5#

ret:ret用于检查网络摄像头是否可用(即)如果我们在运行OpenCV程序时打开摄像头应用程序,ret将识别网络摄像头现在不可用,因此它将返回False并通过错误。
frame:frame用于存储视频的各个像素的数组值

相关问题