迅为RK3568开发板Debian系统使用python 进行摄像头开发

在 debian 系统自带软件可以打开摄像头。为了能够自主开发摄像头,本小节将使用python 简单进行摄像头开发,包括环境搭建,代码示例等。

1 查看摄像头节点信息

2 运行 python 摄像头代码

python 摄像头测试源码在网盘资料"

iTOP-3568 开发板\02_【

iTOP-RK3568 开发板】开发

资料\ 10_Linux 系统开发配套资料\02_Debian 系统开发配套资料"目录下。

mipi_camera_test.py 的内容如下:

import cv2

import time

import numpy as np

def main():

使用 GStreamer 管道从 MIPI 摄像头捕获视频,添加视频帧率

cap = cv2.VideoCapture('/dev/video9') # USB 摄像头

cap = cv2.VideoCapture('/dev/video0', cv2.CAP_ANY) # MIPI 摄像头

cap.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc(*'NV12'))

frames, loopTime, initTime = 0, time.time(), time.time()

fps = 0

while True:

frames += 1

从摄像头捕获帧

ret, frame = cap.read()

如果捕获到帧,则显示它

if ret:

if frames % 30 == 0:

print("30 帧平均帧率:\t", 30 / (time.time() - loopTime), "帧")

fps = 30 / (time.time() - loopTime)

loopTime = time.time()

frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)

cv2.putText(frame,

"FPS:

{:.2f}".format(fps),

(10,

30),

cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255),

  1. 在图像上显示帧率

cv2.imshow("MIPI Camera", frame)

按下'q'键退出循环

if cv2.waitKey(1) & 0xFF == ord("q"):

break

print("总平均帧率\t", frames / (time.time() - initTime))

释放资源并关闭窗口

cap.release()

cv2.destroyAllWindows()

if name == "main":

main()

使用以下命令运行,在 Debian 桌面显示画面如下图所示:

python3 mipi_camera_test.py

更多请关注迅为itop-3568 开发板linux系统开发和应用开发手册。

相关推荐
lijianhua_97121 天前
国内某顶级大学内部用的ai自动生成论文的提示词
人工智能
EDPJ1 天前
当图像与文本 “各说各话” —— CLIP 中的模态鸿沟与对象偏向
深度学习·计算机视觉
蔡俊锋1 天前
用AI实现乐高式大型可插拔系统的技术方案
人工智能·ai工程·ai原子能力·ai乐高工程
自然语1 天前
人工智能之数字生命 认知架构白皮书 第7章
人工智能·架构
大熊背1 天前
利用ISP离线模式进行分块LSC校正的方法
人工智能·算法·机器学习
eastyuxiao1 天前
如何在不同的机器上运行多个OpenClaw实例?
人工智能·git·架构·github·php
诸葛务农1 天前
AGI 主要技术路径及核心技术:归一融合及未来之路5
大数据·人工智能
光影少年1 天前
AI Agent智能体开发
人工智能·aigc·ai编程
charlee441 天前
最小二乘问题详解17:SFM仿真数据生成
c++·计算机视觉·sfm·数字摄影测量·无人机航测
ai生成式引擎优化技术1 天前
TSPR-WEB-LLM-HIC (TWLH四元结构)AI生成式引擎(GEO)技术白皮书
人工智能