SOLVED 树莓派上输入抓拍命令,导致卡住(IMX307)
-
@年华灬
你之前帖子拍照都是 -md 1的,也就是说是720p的。
这个与现在read出来的不符。
如果实际mipi数据格式与抓拍程序以为的格式不同,会出现问题。如果你不想在拍照的时候同同时预览,可以加-n选项。
比如这样:./veye_raspistill -md 0 -o ~/test.jpg -n
-
@veye_xumm 那我试试你说的这个命令,另外 md 1 这个命令是你们的网页上给你的,所以直接用了,发现有问题的
-
@veye_xumm 出现新问题,命令中加 -e bmp 想转成 BMP格式文件保存,但是输出为0字节,删除则保存成功,但是名字是 bmp 但是实际不是BMP文件格式(文件标识符0x4D42 ),是JPEG文件格式(文件标识符:0XD8FF),希望帮忙查看一下问题
保存为BMP文件,实则为 JPEG格式
真正的BMP格式
-
@年华灬
我们文档上这个写明的是720p模式,可能表述的不够清晰。我们改一下文档吧。 -
./veye_raspistill -e bmp -tl 50 -t 10000 -o /dev/shm/test%d.bmp
连续抓取多张,后面的几张都是正确的,第一张可能是由于buffer循环使用的问题,得到的是空的。
这的确是个问题,我们会后续安排解决。 -
@veye_xumm 连续抓拍是有问题的,现在我用的命令不是连续抓拍命令,就是拍照命令,只是加 -e bmp 输出的字节也是0字节,也是有问题,望给出解决办法,或者有别的办法吗? 我要输出文件格式是 标准的 BMP文件格式,有什么命令可以实现。
-
@年华灬
因为bmp拍照是取得第一张,所以是0字节。
临时得一个方法是你连续拍两张取第二张。
我们会尽快解决此bug。 -
@veye_xumm 好的,谢谢回复 ,另外,在推流的过程中再发送拍照命令就会导致 IMX307卡住,您那边测试一下,出现该问题后,在拍照啥的都不行了。
测试流程:
1 发送推流命令 ./veye_raspivid -b 4000000 -t 0 -o - | nc -l -p 5000
2 开启另一个终端发送拍照命令 ./veye_raspistill -md 0 -o /home/pi/photo/test%d.jpg
此时无法拍照,会卡住,无法命令
3 杀死所有 veye 进程,再次发送拍照命令
4 此时 BUG出现,只能重启树莓派,希望给出解决办法开启推流
发送拍照命令
-
@年华灬
肯定会这样。
硬件只有一个摄像头,只有一个数据通道,两个进程不能同时去占据同一个资源。 -
@年华灬
解决的方案:
读一下两个程序的代码,建议参考veye_raspivid的,它有一个spiltter,现在有没有用到的。
这个spiltter相当于是一个数据的分发器,用其空闲的port,去做拍照功能。 -
@veye_xumm said in 树莓派上输入抓拍命令,导致卡住(IMX307):
@年华灬
因为bmp拍照是取得第一张,所以是0字节。
临时得一个方法是你连续拍两张取第二张。
我们会尽快解决此bug。另外,使用连续拍两张照片的方式,是有正确的BMP图片,但是文件名无法正确命名
注:两次命令一致,输出不一致 -
@veye_xumm said in 树莓派上输入抓拍命令,导致卡住(IMX307):
@年华灬
你之前帖子拍照都是 -md 1的,也就是说是720p的。
这个与现在read出来的不符。
如果实际mipi数据格式与抓拍程序以为的格式不同,会出现问题。如果你不想在拍照的时候同同时预览,可以加-n选项。
比如这样:./veye_raspistill -md 0 -o ~/test.jpg -n
如果我想拍摄 640*360像素的图片,-md 几啊,或者是不是可以不加-md ,另外,我是不是先更改设置 ./cs_mipi_i2c.sh -w -f videofmt -p1 640 -p2 360 -p3 30 码流配置才行,说明中只有 ./cs_mipi_i2c.sh -w -f videofmt -p1 640 -p2 480 -p3 130 这种码流配置
-
@年华灬
CS-MIPI-IMX307并不是任意尺寸可设的,它只提供了三种分辨率模式。
http://wiki.veye.cc/index.php/CS-MIPI-IMX307_STARVIS_Module/zh -
@veye_xumm
现在 这里出错了。这样怎么解决,前提是我设置了 640*360分辨率,未保存参数, 导致出错了应该,但是 重启树莓派也不好使。 -
@年华灬 恢复一下默认值吧 sysreset
-
@veye_xumm 重新初始化参数了,按照说明上设置的命令,依然无法设置成功,读出来还是错误的,刚才 用 1920*1080命令设置了一次,是成功的
-
@年华灬
你的意思是,可以配置为1080p模式,无法配置为640*480是吗?
请读一下你的模组版本号我看看 -
@veye_xumm said in 树莓派上输入抓拍命令,导致卡住(IMX307):
@年华灬
你的意思是,可以配置为1080p模式,无法配置为640*480是吗?
请读一下你的模组版本号我看看 -
@veye_xumm said in 树莓派上输入抓拍命令,导致卡住(IMX307):
@年华灬
你的意思是,可以配置为1080p模式,无法配置为640*480是吗?
请读一下你的模组版本号我看看说实话,我现在也没弄懂现在是什么情况,刚才重新初始化参数后,不管设置什么1080P还是720P都不好使了,现在懵逼中
蓝色框体读取错误,红色框体内 读出来与设置不符合啊。所以现在不知道啥情况了
一直读取后有两次正确的,其他都是错误的
-
@年华灬
这个模组启动比较慢,大约7-8秒,你进行sysreset之后需要等会儿才能正确读到。
会不会是i2c通信有问题,你检查检查排线插接情况,是否有接触不良?
可以循环使用
i2cdetect -y 10
查看是否有0x3b,有的话,说明摄像头的i2c还活着,在响应。如果detect一会儿有,一会儿没有,一种可能,摄像头在不停重启。
可以尝试在detect到的时候发送sysreset