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,从这一点来说,就很有价值了。

相关推荐
senijusene8 小时前
基于 MX6UL 的 DHT11 温湿度传感器 驱动开发
驱动开发
charlie11451419110 小时前
嵌入式Linux驱动开发(8)——内存映射 I/O - 别拿物理地址当指针用
linux·开发语言·驱动开发·c·imx6ull
Wallace Zhang10 小时前
SimpleFOC源码学习09(v2.3.2) - 磁编码器MagneticSensorSPI.cpp与MagneticSensorSPI.h
驱动开发·stm32·simplefoc·foc电机控制
Freak嵌入式10 小时前
亲测可用!可本地部署的 MicroPython 开源仿真器
ide·驱动开发·嵌入式·仿真·micropython·upypi
进击的小头1 天前
20_第20篇:嵌入式外设驱动开发基础:寄存器级开发与库函数开发对比实战
arm开发·驱动开发·单片机
低调小一1 天前
BDD(行为驱动开发)入门:把“测试”写成“行为”,把“需求”写成“场景”
驱动开发·tdd·bdd
charlie1145141911 天前
嵌入式Linux驱动开发(7) 从虚拟设备到真实硬件 —— LED驱动硬件基础
linux·开发语言·驱动开发·内核·c
莎士比亚的文学花园1 天前
Linux驱动开发(2)——驱动编程
linux·运维·驱动开发
2601_949695591 天前
开源AI智能体OpenClaw接入DeepSeek V4全流程:从配置到成本
人工智能·驱动开发·ai·电脑
枳实-叶1 天前
【Linux驱动开发】第二天:内核模块生命周期+内存分配全解
linux·驱动开发