首先,提出结论:我并没有适配,同时也没有找到解决这个问题的方法,最后我使用V4L2获取照片返回给opencv算法使用。
opencv和主线摄像头适配良好,可以直接使用,BSP或多或少出现了很多问题。
我建议大家想要适配的话,可以去看看fswebcam里的src_v4l2代码,fswebcam在主线和bsp上都可以成功运行。
我只提出我在这个过程中遇到的问题
1、bsp方案中,需要设置S_INPUT
if(ioctl(s->fd, VIDIOC_S_INPUT, &i) == -1)
{
ERROR("Error selecting input %i", i);
ERROR("VIDIOC_S_INPUT: %s", strerror(errno));
return(-1);
}
错误描述:如果未设置,将会一开始就出现vfe select input flag = 0 s_input have not be used ,直接后续驱动崩溃。
2、我用的是gc0308摄像头,这个摄像头驱动有一些奇怪,你设置了错误格式,他不会返回错误,于是
static int autosetup_capture_mode_v4l2(CvCaptureCAM_V4L* capture)
{
if (try_palette_v4l2(capture, V4L2_PIX_FMT_BGR24) == 0)
{
capture->palette = PALETTE_BGR24;
}
else
if (try_palette_v4l2(c