香橙派5,使用python-opencv调用H264编码摄像头,通过改变摄像头输出编码解决帧率较低的问题
使用香橙派5 Ultra(RK3588)的时候,我使用python驱动工业摄像头,但是帧率一直维持在20 fps - 25 fps使用的是威鑫的H264编码-1080P摄像头提示:以下是本篇文章正文内容,下面案例可供参考。
·
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
使用香橙派5 Ultra(RK3588)的时候,我使用python驱动工业摄像头,但是帧率一直维持在20 fps - 25 fps
使用的是威鑫的H264编码-1080P摄像头
提示:以下是本篇文章正文内容,下面案例可供参考
一、python调用摄像头
示例:使用python调用摄像头
import cv2
import time
cap = cv2.VideoCapture(1)
if not cap.isOpened():
print("can't open camer.")
exit()
count = 0
start_time = time.time()
while True:
ret,frame = cap.read()
if not ret:
print("can't read!")
break
count +=1
elapsed_time = time.time() - start_time
fps = count / elapsed_time
cv2.putText(frame,f"FPS:{fps:.2f}",(10,30),cv2.FONT_HERSHEY_SIMPLEX,1,(0,255,0),2)
cv2.imshow('Camera',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
二、改变编码优化程序
1.增加两句改变编码
代码如下(示例):
#MJPEG 是一种常见的视频编码格式,它将视频的每一帧压缩为 JPEG 图像。优点是压缩率高,适合实时视频传输。
cap.set(6,cv2.VideoWriter.fourcc('M','J','P','G'))
#设置帧率为60
cap.set(5,60)
2.总程序
代码如下(示例):
import cv2
import time
cap = cv2.VideoCapture(1)
cap.set(6,cv2.VideoWriter.fourcc('M','J','P','G'))
cap.set(5,60)
if not cap.isOpened():
print("can't open camer.")
exit()
count = 0
start_time = time.time()
while True:
ret,frame = cap.read()
if not ret:
print("can't read!")
break
count +=1
elapsed_time = time.time() - start_time
fps = count / elapsed_time
cv2.putText(frame,f"FPS:{fps:.2f}",(10,30),cv2.FONT_HERSHEY_SIMPLEX,1,(0,255,0),2)
cv2.imshow('Camera',frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
显著提高帧率到60 fps,结果如下
更多推荐
所有评论(0)