python - 如何使用 python 编程使用 opencv 缩放罗技网络摄像头 c930e?

标签 python opencv image-processing face-recognition

我正在尝试使用罗技 c930e 网络摄像头对多人进行人脸识别。所以我想在 python 中使用 opencv 编程来缩放 c930e 网络摄像头。

我曾尝试调整图像大小,但我希望使用 python 编程将相机缩放并聚焦在固定距离上。

我希望在一台计算机上连接多个网络摄像头,并且所有网络摄像头使用编程具有不同的固定缩放值。

最佳答案

根据其specs , C930e 是 UVC -兼容(与大多数网络摄像头一样),并且它很可能允许通过 UVC 控制缩放级别。

要了解相机通过 UVC 提供的控制,在 Ubuntu 上您可以使用 v4l2-ctl,它位于 v4l-utils 包中。以下是 Microsoft LifeCam Cinema 的 v4l2-ctl -d 0 -l 输出的一部分:

             ...
             focus_absolute (int)    : min=0 max=40 step=1 default=0 value=8
                 focus_auto (bool)   : default=0 value=0
              zoom_absolute (int)    : min=0 max=10 step=1 default=0 value=0

您可以更改控件,例如,使用 v4l2-ctl -d 0 -c zoom_absolute=10

为了从 Python 执行此操作,我使用了 subprocess.check_output() .我为获取和设置 V4L2 控件而编写的实用函数在 GitHub 上并具有一系列附加功能,例如处理默认值、多个控件和多批控件,这使得代码比简单的“更改缩放级别”示例更加复杂。 (该函数是 SkinnerTrax 的一部分,这是我编写的 Drosophila 实时跟踪器。)还有 pyuvc ,貌似比较跨平台,不过我没试过。

关于python - 如何使用 python 编程使用 opencv 缩放罗技网络摄像头 c930e?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54033494/

相关文章:

python - 带有 Python 的 cv2.createTrackbar 控制面板

python - 如何使用 python 从图像中去除边界边缘噪声?

c++ - 使用 OpenCV 计算 X 和 Y 导数的绝对值

matlab - 从连接的组件制作跳棋的有效方法

python - 检查对象是否在 Python 中类似于文件

python - pyaudio中的 channel 数是什么意思?

python - 在Python中将矩阵列表转换为仅一个2D矩阵

c++ - 使用 OpenCV 随机森林,有什么方法可以获得分类的 "confidence"级别?

Python : Celery, 如何让它在后台运行?

python - 找到将两个 Numpy 数组等分的值