迅为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系统开发和应用开发手册。

相关推荐
张彦峰ZYF4 小时前
越过边界之前:Reward Seeker 实验如何改写智能体安全的时间逻辑
人工智能·ai agent·anthropic·智能体安全·reward seeker·“控制评价过程”泛化跨领域策略·envbom
拓恒技术4 小时前
无人机巡检AI算法的工程化落地:从需求到交付的5个核心环节
人工智能·算法·无人机
罗西的思考6 小时前
AI 时代的 “房谋杜断”:如何培养能力、品味与判断力
人工智能·算法·机器学习
字节跳动视频云技术团队7 小时前
720P 直升 8K,解密 2026 抖音美好奇妙夜巨幕超分黑科技
人工智能·音视频开发
打工仔折腾 AI7 小时前
在 Ubuntu ARM64 部署 Q1 V3.0 MuJoCo 模型:加载、单步推理与执行器响应解析
linux·运维·人工智能·python·深度学习·ubuntu·性能优化
逐米时代7 小时前
从试点验证到协同深化:制造业AI转型三年路线图设计方法
人工智能
GlobalInfo7 小时前
全球及中国风电叶片检测机器人行业研究报告(2026版):市场现状、行业前景与占有率分析
运维·网络·人工智能·机器人
stormzhangV8 小时前
AI 越强,失业越严重
人工智能·aigc
夏文强9 小时前
Rerank 与混合检索:怎么让 RAG 从「能用」变成「好用」
人工智能·大模型·向量数据库·rag·检索增强生成
救救孩子把9 小时前
AI面试八股文-23_23-Agent可观测性与生产监控面试题
人工智能·面试·职场和发展·agent·langsmith·langfuase