我正在使用 OpenCV 和 Python3 从 USB 上的 720p WebCam 捕获图像。它在无头处理器上运行,因此我无法使用 Cam 应用程序检查设备。
ubuntu@arm:~$ pkg-config --modversion opencv
3.2.0
ubuntu@arm:~$ readlink -f $(which python3) | xargs -I % sh -c 'echo -n "%: "; % -V'
/usr/bin/python3.6: Python 3.6.7
ubuntu@arm:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.2 LTS
Release: 18.04
Codename: bionic
该设备由 Python 脚本控制,可完美运行一小时。一些投诉如下:
Corrupt JPEG data: 2 extraneous bytes before marker 0xd5
所捕获的图像非常有用并且可以很愉快地重复,所以我认为这是无害的。
然后大约一个小时后它停止工作。没有用户交互,我没发现任何干扰。它突然开始报告:
VIDEOIO ERROR: V4L2: Pixel format of incoming image is unsupported by OpenCV
此后,什么都不起作用。我可以关闭脚本并重新打开它。不行。我目前在采样器的每个循环上都打开摄像头,一个新的 cv2.VideoCapture(0) 和一个 release()。设备上有一个电池,但它在主电源下。USB 集线器未通电,但这是由于硬件问题导致集线器在通电后无法使用……我假设它已经正常工作了一个多小时,与 USB 电源布置无关。
电源循环,shutdown -r,清除它,我们又很高兴了。
v4l2-ctl -d /dev/video0 --all
Driver Info (not using libv4l2):
Driver name : uvcvideo
Card type : UVC Camera (046d:0825)
Bus info : usb-musb-hdrc.1-1.3
Driver version: 4.14.108
Capabilities : 0x84200001
Video Capture
Streaming
Extended Pix Format
Device Capabilities
Device Caps : 0x04200001
Video Capture
Streaming
Extended Pix Format
Priority: 2
Video input : 0 (Camera 1: ok)
Format Video Capture:
Width/Height : 640/480
Pixel Format : 'MJPG'
Field : None
Bytes per Line : 0
Size Image : 341333
Colorspace : sRGB
Transfer Function : Default (maps to sRGB)
YCbCr/HSV Encoding: Default (maps to ITU-R 601)
Quantization : Default (maps to Full Range)
Flags :
Crop Capability Video Capture:
Bounds : Left 0, Top 0, Width 640, Height 480
Default : Left 0, Top 0, Width 640, Height 480
Pixel Aspect: 1/1
Selection: crop_default, Left 0, Top 0, Width 640, Height 480
Selection: crop_bounds, Left 0, Top 0, Width 640, Height 480
Streaming Parameters Video Capture:
Capabilities : timeperframe
Frames per second: 30.000 (30/1)
Read buffers : 0
brightness 0x00980900 (int) : min=0 max=255 step=1 defau lt=128 value=128
contrast 0x00980901 (int) : min=0 max=255 step=1 defau lt=32 value=32
saturation 0x00980902 (int) : min=0 max=255 step=1 defau lt=32 value=32
white_balance_temperature_auto 0x0098090c (bool) : default=1 value=1
gain 0x00980913 (int) : min=0 max=255 step=1 defau lt=64 value=131
power_line_frequency 0x00980918 (menu) : min=0 max=2 default=2 valu e=2
white_balance_temperature 0x0098091a (int) : min=0 max=10000 step=10 de fault=4000 value=2610 flags=inactive
sharpness 0x0098091b (int) : min=0 max=255 step=1 defau lt=24 value=24
backlight_compensation 0x0098091c (int) : min=0 max=1 step=1 default =0 value=0
exposure_auto 0x009a0901 (menu) : min=0 max=3 default=3 valu e=3
exposure_absolute 0x009a0902 (int) : min=1 max=10000 step=1 def ault=166 value=667 flags=inactive
exposure_auto_priority 0x009a0903 (bool) : default=0 value=1