备注:opencv2.4如果设置打开的图像尺寸是640*480则无法打开,
而保持高度480不变的情况下,将宽度调节为632则可以正常打开。
是否意味着,在内核或者驱动中,定义或者使用了一块缓存空间,这个空间正好有限制?
公司新采用一款usb双目摄像头,公用一根usb线,据说也更便宜一点。但是经过初步测试,发现公司的程序无法打开摄像头。
于是就想着测试一下怎么回事儿。
首先,linux主机Ubuntu18.04下,使用cheese软件打开,发现无法通过xmanager打开,应该是远程软件的问题,于是接通显示器,键盘,再次运行cheese,发现一开始黑屏,但是未提示没有发现摄像头,这就说明,系统检测到了摄像头,但是由于某些原因,无法显示图像,找到了cheese菜单,发现,确实检测到了两个摄像头,另外的设置选项仅有分辨率,于是更改分辨率,发现分辨率大于800*600时,可以显示彩色图像,当分辨率大于1200*某个值时,可以显示红外图像。
这最起码说明了一点,摄像头没问题,只是打开的姿势不对。
在安卓中,使用测试apk发现,可以正常同时打开两个摄像头。
那么,linux下的原因就需要去找一下了。
编译安装opencv4.0.1,写出测试程序:
需要注意的是,当插入usb摄像头时,会在/dev/目录下生成4个设备,但是只有第一个设备文件是可以打卡的,分别是vid