迅为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),
2) # 在图像上显示帧率
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系统开发和应用开发手册。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
2021-09-14 迅为i.MX6Q开发板Ubuntu20.04 Can通信
2020-09-14 迅为 iTOP-i.MX6ULL 开发板-Mqtt 移植教程
2018-09-14 迅为4412开发平台Zigbee模块在物联网智能家居中的应用