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

相关推荐
小酒星小杜3 分钟前
画 AI 漫画,别只会写“日漫风”:10 种画风、适用故事和可复制提示词
人工智能·设计模式·程序员
桃西西呀5 分钟前
Laya 源码级原理拆解之二:序列打包与决策头
人工智能·llm·ai编程
知几蜗牛10 分钟前
模型能正常出字,答案却悄悄变差:推理配置漂移比报错更危险
人工智能
知几蜗牛15 分钟前
模型已经开始吐字,界面为什么还会卡?用本地推理讲清异步流
人工智能
2301_7903559715 分钟前
适合新手用的AI配音工具推荐:2026年横向测评与选型指南
人工智能·自然语言处理
X54先生(人文科技)26 分钟前
《元创力》纪实录 · 卷宗 3.6《不退场的人——Yuri尤栗外滩大会AI音乐会的碳硅协同推演全记录》
人工智能·深度学习·ai写作·开源协议
盟接之桥29 分钟前
线束数字化--先进先出为什么总是停留在纸面上?
大数据·网络·数据库·人工智能·制造·ai编程
阳明山水40 分钟前
因果一致性正则化实战解析
人工智能·深度学习·算法·机器学习·架构
甲维斯42 分钟前
首测LangCat2.5,美团牛鼻,远胜“卧龙凤雏”!
人工智能
Zentceh43 分钟前
夜间野生动物监测:AI全彩夜视+AI行为分析方案
图像处理·人工智能·科技·计算机视觉·车载系统·无人机·智能硬件