一、VI部分
1、sensor部分:
1.1 根据摄像头的参数及平台能支持的sensor类型,选择好摄像头,摄像头有一个主码流,也就是采集的时候sensor本身特性得到的就是720p,然后通过这个主码流进行缩放和裁剪算法,生成多路其他分辨率的码流(比如VGA、QVGA)
(1)rawRGB、RGB、YUV420、422选择(原理,转换过程、选择理由)
(2)sensor三种接口:MIPI、DVP优缺点(sensorPCB布线难度,速率导致价格不同)
(3)设置选择的sensor属性(选择的摄像头必须是平台支持的种类)
属性:对sensor出来的图像进行镜像、翻转、旋转等操作
(4)选择sensor时,会添加对应的驱动C文件,编译后会安装进去,驱动已经定义了sensor的名字,open打开、填充该sensor的参数并用ioctl函数写入,ioctl(fd, HI_MIPI_SET_DEV_ATTR, pstcomboDevAttr),HI_MIPI_SET_DEV_ATTR命令与驱动对应,是3518E用来设置sensor属性的,命令下是对sensor寄存器的操作。
2、isp部分:
1.1 自动白平衡、自动曝光、自动对焦。还有帧率选择,sensor有效区域选择这部分可以选择打开或关闭(VI第三节视频),将数据结构开放给我们填充,算法内部做好。平台是不知道我们的sensor类型
(1)将3A单元注册,分配内存空间,学会使用3A相关API函数
(2)设置属性,将原来的图像按照ISP设置的属性处理,比如帧率、有效区域选择、缩放等处理(具体看isp手册详解)
(3)创建线程跑ISP