我用DM3730连接一台输出10bit灰度图像的探测器,探测器驱动程序是我自己的写的。
在设置驱动支持的像素格式时我发现只能选择YUYV、BT656、SGBR10这类格式,我尝试在驱动里设置V4L2_PIX_FMT_GREY或者V4L2_PIX_FMT_Y16都不行,发现时dvsdk 4.02 的isp.c里不支持上述两种格式,所以应用程序设置格式时会出错。
我的探测器只能输出并行10bit的灰度数据,如果我被迫在驱动里设置探测器支持的格式为V4L2_PIX_FMT_SGRB10这类Bayer raw格式,应用程序也选择设置为V4L2_PIX_FMT_SGRB10,那么我在应用程序中帧缓冲出队后获得的内存空间内是什么格式的数据?是10bit的灰度数据,还是被ISP根据SGRB10做了相应转换的数据(我选择直接通过CCDC直接输出数据到内存空间)?
我不明白的是这个V4L2_PIX_FMT_XXX在驱动中的作用是什么,如果选择的格式与摄像头实际输出的格式不一样,对探测器输出的数据及应用层获得的图像帧有什么影响?
谢谢!
Long Xiao:
我在这个论坛提问根本从来没人回答过问题
anbear An:
同顶,楼主使用的是ISP的并行接口吧,10位灰度图像。
目前也遇到相同问题,发现DM3730对RAW RGB、YUV格式支持的很好,10位灰度图像总是调试不成功;我想使用的数据流通道也是 10位并行输出sensor (1280*1024)——》 CPI并行接口 ——》ccdc——》直接输出数据到内存,但得到的图像看起来似乎是经过了处理,与sensor输出端示波器读出的不太一样。
想问下楼主解决问题了么