Linux Camera驱动开发(用树莓派学习camera驱动)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

现在是一个ai的时代,不管是图片,还是文字、语音,几乎所有的东西都要和ai沾上边。就拿图像来说,大家想的都是用gpu、npu、cpu从图像中来获取信息,但是怎么获取高质量的图片,大家却不是很关心。而这一点,其实是十分重要的。所以对图像感兴趣的同学,不妨多学学lense、sensor、驱动、isp这些,这样就会对图像有更深的认识。

1、大部分驱动都和特定的平台相关

很多驱动,比如csi2、mipi、isp的配置,都是和平台相关的。这就意味着,如果我们要驱动好sensor,不仅要配置好sensor,还得把csi2这部分内容准备好。但这些平台相关的代码,很多都是要签署nda的,而且大多数它是面向b端客户的,对一般的开发者并不友好。

2、树莓派的platform驱动

相比较形形色色的soc,树莓派的驱动算是比较开放的。sensor端的代码,位于drivers/media/i2c,这一点不必多说。而platform平台端的代码,位于drivers/media/platform/raspberrypi,可以很容易找到。另外,网上关于树莓派的资料很多,对于初步入门的同学来说,这一点就非常方便。

3、树莓派的sensor驱动流程

树莓派的sensor驱动,和其他sensor一样,没有什么差别,主要的差别是platform驱动。csi2+mipi配置好,并且初始化好sensor之后,就可以从sensor拿到frame。这个时候,raspberry下面的pisp-fe就发挥用处了,它的作用就是把图片送到isp硬件。

**目前isp硬件这部分,大家可以看成是固化的算法,具体的内容都是不可见的,但是后期可以用json文件来进行标定。**等isp处理好之后,就会在pisp_be.c里面,拿到结果,并且送给上面的用户侧接口。这就是树莓派sensor处理的主要流程。

4、树莓派isp标定

和商业soc相比较,树莓派没有专业的isp上位机标定软件,基本上只能通过手工修改json文件的方法,去一点、一点优化frame效果。不像海思,或者是其他国外的soc,他们都有很完善的标定软件和标定流程,这一点树莓派只是解决有无,不解决好坏。

5、和mipi屏幕一起学习

除了csi mipi接口之外,树莓派还支持mipi屏幕。虽然lane的数量不多,但是4~5寸的应用还是可以部署的,这一点来说再加一点lvgl的应用,就可以做不少事情。

6、没有集成npu是一个遗憾

如之前所说,现在的ai特别流行,但是ai本身运行除了model之外,还需要npu加速,这一点树莓配没有优势。虽然官方也发布了AI HAT+,性价比和其他soc相比较,还是差不少。不过作为学习者来说,它可以帮助我们比较容易地掌握sensor和screen,从这一点来说,就很有价值了。

相关推荐
松涛和鸣3 小时前
70、IMX6ULL LED驱动实战
linux·数据库·驱动开发·postgresql·sqlserver
L_Jason先生5 小时前
高效利用 Coding Agent 进行规约驱动开发 (SDD):原理、实践与未来洞察
人工智能·驱动开发·知识图谱
minglie15 小时前
wsl环境下驱动开发的例子
驱动开发
前进的程序员6 小时前
驱动开发中Linux系统裁剪、开发、调试步骤
linux·驱动开发·设备树
dump linux7 小时前
Linux 显示服务器与合成器架构详解
linux·驱动开发·3d
Aaron158817 小时前
基于RFSOC的数字射频存储技术应用分析
c语言·人工智能·驱动开发·算法·fpga开发·硬件工程·信号处理
嵌入式-老费20 小时前
Linux camera驱动开发(串行和解串)
驱动开发
代码游侠1 天前
学习笔记——Linux字符设备驱动开发
linux·arm开发·驱动开发·单片机·嵌入式硬件·学习·算法
wxmtwfx1 天前
Linux内核GPIO工具概述
linux·驱动开发·gpio