MIPI_CSI支持
1 MIPI摄像头介绍
MIPI 摄像头的数据是串行。
在x2000系列板级上,MIPI摄像头可以选择通过ISP 和 不通过ISP的。
2 MIPI摄像头使用方法
下面以Darwin_X2000_V2.0开发板gc2053 mipi 摄像头为例进行说明。
iconfig 配置
选择x2000_darwin的config文件, 进行配置
3 摄像头是否经过ISP
3.1摄像头不经过ISP配置
选择x2000驱动列表
进入camera驱动(vic 控制器)
可选择数据不通过isp
不经过ISP模块配置如下
特别注意:
在x2000系列板级上,如果选择则不通过ISP模块,camera节点为vic0(单摄) vic0 vic1(双摄)
下面以gc2053 mipi 摄像头为例进行说明,双摄为两个节点即可分开控制,相当于两个独立的设备
Camera shell 命令:通过该命令操作camere进行工作,具体如下
cmd_camera power_on device_path
功能: 使能 camera 设备 , 上电
参数:无
Example:
cmd_camera power_on dev/vic0
cmd_camera power_on dev/vic1
cmd_camera power_off device_path
功能: 关闭 camera 设备 , 掉电
参数:无
Example:
cmd_camera power_off dev/vic0
cmd_camera power_off dev/vic1
cmd_camera stream_on device_path
功能: 开始 camera 图像录制
参数:无
Example:
cmd_camera stream_on /dev/vic0
cmd_camera stream off device_path
功能: 结束 camera 图像录制
参数:无
Example:
cmd_camera stream_off /dev/vic0
cmd_camera info device_path
功能: 获取 camera 设备信息
参数:无
Example:
cmd_camera info /dev/vic0
cmd_camera get_frame device_path
功能: 获取一帧的数据到到标准输出
参数:无
Example:
cmd_camera get_frame /dev/vic0
cmd_camera drop_all_frames device_path
功能: 丢弃已录制的图像数据帧
参数:无
Example:
cmd_camera drop_all_frames /dev/vic0
使用流程:
cmd_camera power_on dev/vic0 //使能设备
cmd_camera stream_on /dev/vic0 //打开图像录制
cmd_camera get_frame /dev/vic0 > /tmp/frame //获取图片并保存
如果想在电脑上查看图片,可以使用adb命令将图片拷贝到电脑,再用专用工具查看
adb pull /tmp/frame /tmp/picture //将板子里/tmp/frame里的图片拷贝到电脑/tmp/picture
注意在对应sensor手册查看sensor信息,图片长和高,图片格式
使用 7yuv 工具将保存到电脑上的图片打开,并选择图片格式与图片分辨率,出图效果如下:
当使用 cmd_camera_nv12_preview 命令时,则可在屏幕上显示摄像头所拍摄的照片
cmd_camera_nv12_preview device_path
功能: 使用屏幕预览 camera 录制的图像( nv12 格式 )
参数: 无
Example :
cmd_camera_nv12_preview /dev/vic0
3.2 摄像头经过ISP配置
选择x2000驱动列表
进入camera驱动(vic 控制器)
可选择数据通过isp
通过ISP模块配置如下
若选择通过ISP模块,则需要勾选上libisp
特别注意:
在x2000系列板级上,如果选择则通过ISP模块,camera节点为mscaler0(单摄) mscaler0 mscaler1(双摄)
Camera shell 命令:通过该命令操作camere通过ISP工作,具体如下
cmd_isp init device_path [width=value] [height=value] [frame_nums] [format]
功能: 初始化摄像头为你想要的模式
Example:
cmd_isp init /dev/mscaler0-ch0
cmd_isp init /dev/mscaler0-ch0 width=640 height=480 frame_nums=3 format=NV12
cmd_isp power_on device_path
功能: 使能 camera 设备 , 上电
Example:
cmd_isp power_on /dev/mscaler0-ch0
cmd_isp power_off device_path
功能: 关闭 camera 设备 , 掉电
Example:
cmd_isp power_off /dev/mscaler0-ch0
cmd_isp stream_on device_path
功能: 开始 camera 图像录制
Example:
cmd_isp stream_on /dev/mscaler0-ch0
cmd_isp stream_off device_path
功能: 结束 camera 图像录制
Example:
cmd_isp stream_off /dev/mscaler0-ch0
cmd_isp info device_path
功能: 获取 camera 设备信息
Example:
cmd_isp info /dev/mscaler0-ch0
cmd_isp get_frame device_path
功能: 获取一帧的数据到到标准输出
Example:
cmd_isp get_frame /dev/mscaler0-ch0
cmd_isp drop_all_frames device_path
功能: 丢弃已录制的图像数据帧
Example:
cmd_isp drop_all_frames /dev/mscaler0-ch0
cmd_isp deinit device_path
功能: 取消初始化
Example:
cmd_isp deinit /dev/mscaler0-ch0
使用流程:
cmd_isp init /dev/mscaler0-ch0 width=640 height=480 frame_nums=3 format=NV12
初始化isp设备 width height 为图像长和高 frame_nums 为mscaler 缓存帧个数
format 为设备支持格式 NV12 NV21 YV12 JZ12 GREY (仅支持这五种)
cmd_isp power_on /dev/mscaler0-ch0 使能camera设备
cmd_isp stream_on /dev/mscaler0-ch0 打开图像录制
cmd_isp get_frame /dev/mscaler0-ch0 > /tmp/frame 获取图片并保存
当使用demo_isp命令时,将自动截图到 /tmp/frame.nv12
demo_isp device_path
功能: 自动截图并保存
Example:
demo_isp /dev/mscaler0-ch0
当使用demo_isp_nv12_preview命令时,则可在屏幕上显示摄像头所拍摄的照片,还可延迟拍摄
demo_isp_nv12_preview device_path [timeout]
功能: 自动截图并保存
Example:
demo_isp_nv12_preview /dev/mscaler0-ch0
demo_isp_nv12_preview /dev/mscaler0-ch0 100
如果想在电脑上查看图片,可以使用adb命令将图片拷贝到电脑,再用专用工具查看
adb pull /tmp/frame /tmp/picture //将板子里/tmp/frame里的图片拷贝到电脑/tmp/picture
根据自己设置的图片尺寸与图片格式信息,例如:
width=640 height=480 frame_nums=3 format=NV12
使用 7yuv 工具将保存到电脑上的图片打开,并选择图片格式与图片分辨率,出图效果如下:
更多关于Camera_Sensor的使用方法,请参考Camera_Sensor通用使用手册