最近在看openmv的源码,和往前一样,经常会卡住,还是对c不够了解,一知半解的,这些文章不以读源码为主,但是会写一下我日常不见的东西。
openmv初体验
openmv最大的卖点就是相对廉价的嵌入式机器视觉了,但是瓶颈其实在io和运算速度上面。前者就是使用psram这样的缓冲器,后面就是使用主频高的mcu。但是一切都有尽头,无妨,几十块钱
目前官方支持得板子是这些得,别的芯片需要移植
在下载的库里面有很多的bin文件,这里就是说明文件的作用
这个是makefile文件里面定义要用的编译器
这个定义的一些目录
omv是这个项目最重要的东西,一切魔法的起源,uvc是usb video devices,cm4是arm内核,还有stm32的ai应用,以及下面就是一些cmos的驱动了,也是最重要的。
这个就是缓存器的一些操作函数,无参数无返回的,那就是过程了
这个是控制cmos的cambus协议,要使用iic,这里是针对stm32的
还有模拟的usb设备,传输视频使用
好像是一些高级的东西
还有延时的封装函数
stm32的片子最少都是f4的片子了
uvc在openmv里面是一个占比很大的部分,我为此写了一篇没有写完的文章。
这个就是我们树莓派pico的配置文件了
omv这个文件夹就是我们openmv这个项目的精华所在了
这个是以字符串数组写进去的demo
这些都是支持的传感器,在传感器这个目录里面,后期扩展的话,可以按照样式自己适配自己的传感器。
通过寄存器,cambus协议和传感器的头文件连在一起
文件在这里,项目里面一些公用的函数封装在这里
本土狗就见过这个传感器
ov2640的一个时钟的频率,和对传感器的一个初始化
这个是ov2640寄存器的定义
基本上都是宏定义了
传感器的一个初始化,看下这个操作的结构体
这里是传感器的id,在结构体的一开始被定义
camsbus就是iic的协议,上面第一个就是写了这个iic的协议的地址,下面按照这个结构体里面写的是硬件的标志位,至于是什么意思,这里的注释就写进去了,有一些我还是看不懂的。
行同步信号回调+帧回调+看不懂+重启
这个就是回调的一个定义,就长这样的
私有的话,这里就是高和低我也不懂是哪里的
像素格式的功能开端,一个是yuv,可变格式,颜色,动态范围,拜尔格式
这个是图像的编码格式
这个是视频的分辨率列表
这个函数就吊了,具体其实定义就是这样的
怎么起作用呢?就是通过参数的不同输入达到一种不同的函数功能。
这参数设计的有python那一套的感觉了
把传感器的结构体的使用范围扩展一下,以及使用2维数组来放分辨率的信息
下面还有一些函数,初始化有两种,一个是状态,一个是硬件
具体的实现,先不看。
但是可以看一下这个初始化的函数使用
结构体的值和函数的参数混在一起
每一个传感器大概都是通过这样的被定义
完整的传感器结构体定义,这里就写的很乱了,文章写了两天了都
传感器的各种状态,需要来输出
代码中大量看到void*,有什么用? void*有什么用呢?实际上我们在很多接口中都会发现它们的参数类型都是void*,例如:
ssize_t read(int fd, void *buf, size_t count); void *memcpy(void *dest, const void *src, size_t n);为何要如此设计?因为对于这种通用型接口,你不知道用户的数据类型是什么,但是你必须能够处理用户的各种类型数据,因而会使用void*。void*能包容地接受各种类型的指针。也就是说,如果你期望接口能够接受任何类型的参数,你可以使用void*类型。但是在具体使用的时候,你必须转换为具体的指针类型。例如,你传入接口的是int*,那么你在使用的时候就应该按照int*使用。
因为这里有大量的makefile文件,vscode推荐这个插件
这么贵的x1c连个win11都不能装,笑死了
文章没有达到自己预期的样子,寄了,国庆完了。
企业级OLTP数据库GaussDB T的云服务上线华为云
一加5什么时候上市?一加5最新消息:一加5发布日期曝光,6月20号推出
液压电磁阀的工作原理图
线程和进程的关系与区别
麻醉针表面微粒分析仪
OpenMV源码细读
致敬诺基亚N系列!360N5打造青年旗舰,主打6G运存
芯盾时代入选《2020网络安全产业百强》成长型企业
电脑桌面套装
汽车制造业中的无线技术分析
石墨烯基超级快充电池进入实车测试阶段 首款搭载车型为AION V
电力可持续发展高层圆桌会议,为电力可持续发展提出相关政策建议
剖析并联机器人在3C领域零部件加工的应用
单相异步电动机为什么不能自行起动?
MR技术能够创造一个可信的环境,然后自主选择进行VR或AR
半导体制造中FIB、SEM关键技术原理
工信部专家称LTE产业化与TD发展不矛盾
oppor11什么时候上市?oppor11最新消息:oppor11亮相官网,外观比iphone7plus更惊艳!还有周杰伦加盟代言!
直线电机模组在激光打标机中的应用
51WORLD与土耳其顶尖智慧城市服务商Sampas签署战略合作协议