SOLVED jetson nano 2GB无法识别相机 MV-MIPI-IMX264M
-
假设jetson上电后得预配置时[0,0,2432,2048],正在正常按节奏取图,
这时UI 给了一个[128, 16, 1024, 256] 这么一个需求,
如何配置驱动,才能让用户无感无缝切换图片.
(配置时候,可以接受暂时停流, 不接受重启上层应用或重启jetson设备) -
@hmj 你在你的程序里面,调用stop stream(VIDIOC_STREAMOFF),然后配置roi,然后重新start stream(VIDIOC_STREAMON)。
-
@veye_xumm
也就是说,在nano平台, 关于roi这组参数,可以忽略i2c层面配置,只有v4l那边配置就可以了?
这么做是真实硬件ROI, 会带来FPS得提升吧? -
@hmj
I2c脚本和v4l2接口,本质上都是通过i2c配置了camera的寄存器。所以只需要v4l做了,就无需使用脚本配置。
是的,降低roi中的图像高度,会提升MAXFPS,你可以通过脚本获取当前配置下的max fps,然后配置fps到范围内的值。 -
@veye_xumm
我现在又遇到一个问题,如果我把相机曝光设置为10000(2432*2048), 查询GET_FPS,帧率大约为38.84,那么帧周期为27902, 在此基础上用硬触发(周期为28000的脉冲,其中高电平维持10000,站空比为5:7)去拍, 比如发送10个脉冲, 那么只能收到5图,如果把触发周期改成34000以上, 那么10图都能接受到.我现在需要保证相机尽量快速取图,哪边还需要再配置才能获地高速?
-
@hmj 按照https://wiki.veye.cc/index.php/Mv_mipi_camera_manual/zh part2.4.3的描述,你的诉求应该是没有问题的。
你先参考这个链接,升级一下固件:https://wiki.veye.cc/index.php/Mvcam_firmware_update_manual
然后再做一下测试试试。 -
./mv_mipi_i2c.sh -r -f version
version is C 01.34 and L 02.00
貌似已经是最新固件,与网站上6月5日是同一版, 无需再升级 -
@hmj https://wiki.veye.cc/index.php/Mv_mipi_i2c.sh_user_guide
参考这个页面,把trigger相关的参数读出来一下,发给我看看。
trgnum
trginterval
trgdelay
trgedge
trgfilter_enable
trgfilter_time
trgexp_delay
trgcount -
@veye_xumm said in jetson nano 2GB无法识别相机 MV-MIPI-IMX264M:
trgcount
pt@dpt-desktop:./mv_mipi_i2c.sh -r -f version
version is C 01.34 and L 02.00
dpt@dpt-desktop: ./mv_mipi_i2c.sh -r -f trgnum
r trigger num is 1
dpt@dpt-desktop: ./mv_mipi_i2c.sh -r -f trginterval
r trginterval is 0
dpt@dpt-desktop:./mv_mipi_i2c.sh -r -f trgdelay
r trgdelay is 0
dpt@dpt-desktop:./mv_mipi_i2c.sh -r -f trgedge
r trg edge is 0
dpt@dpt-desktop: ./mv_mipi_i2c.sh -r -f trgfilter_enable
r trgfilter enable is 0
dpt@dpt-desktop: ./mv_mipi_i2c.sh -r -f trgfilter_time
r trgfilter time is 1 us
dpt@dpt-desktop:./mv_mipi_i2c.sh -r -f trgexp_delay
r trigger exposure delay is 0 us
dpt@dpt-desktop:./mv_mipi_i2c.sh -r -f trgcount
r trigger count 156, trigger lost 0 -
@hmj 你现在读取一下fps和maxfps,分别是多少?
-
@veye_xumm
./mv_mipi_i2c.sh -r -f maxfps
r maxfps @ current setting is 35.84 fps
./mv_mipi_i2c.sh -r -f fps
r fps is 30.00 fps -
@hmj
这是问题所在了。
虽然是触发模式,但是实际生效的帧率还是fps这个参数,maxfps永远只是最大能力的一个提示而已。
那么你之前@hmj said in jetson nano 2GB无法识别相机 MV-MIPI-IMX264M:
查询GET_FPS,帧率大约为38.84,那么帧周期为27902,
这个地方的帧周期计算,应该使用fps来算。 这个fps不仅影响着camera真正的运作时序,也影响着最大可设的曝光时间。
建议你:./mv_mipi_i2c.sh -w -f fps -p1 40 -b [bus] ./mv_mipi_i2c.sh -r -f fps -b [bus]
这样,就把相机设置到了当前roi下最大帧率。
应该就没问题了。 -
@veye_xumm
感谢,问题解决~ -
@hmj 不客气
-
@veye_xumm
我们现在基本测试已经通过,现在有个棘手的问题,由于jetson nano的mipi驱动在kernel image中,我目前的做法是直接替换官方的.我们目前项目中添加了许多其他功能, 因此修改了内核的许多地方.所以为了替换之前的老相机,必须拿到你们kenrel源码和DTS, 再整合进我们目前的内核中,才能无缝完成项目的迁移.
-
-
@veye_xumm
相机有没有调节对比度的api, 我们目前发现图片在拍黑白图案(相机标定)时候,图片质量没有国外相机明显. -
@hmj 您可以通过调节gamma,或者自定义lut曲线达到这种高对比度效果。
-
@veye_xumm said in jetson nano 2GB无法识别相机 MV-MIPI-IMX264M:
gamma
gamma设置不需要对相机做关闭操作吧,只要在不拍照的时刻进行配置即可?
lut的文件,请问这个文件怎么 修改 -
@hmj
gamma随时可配。
lut适用于比较专业的客户特殊要求场景下,你可以先试试gamma。