Не удается получить доступ к Logitech C930e (веб-камера) под Ubuntu с помощью SimpleCV

Вопрос или проблема

Ubuntu не полностью распознает мою новую веб-камеру Logitech C930e. Guvcview распознает (см. ниже). Logitech говорит, что она поддерживает UVC 1.5.

Я нашел:
http://sourceforge.net/p/linux-uvc/mailman/message/31645720/

Почему это не интегрировано в Ubuntu 14.04 (приложение cheese)?

Мне нужна эта камера для SimpleCV (которая тоже не распознает ее).

Я разобрался:

cam = Camera(0)  // -> для встроенной веб-камеры ноутбука (edge 130)
cam = Camera(1)  // -> для Logitech C930e

Я получаю следующие ошибки:

SimpleCV:1> cam = Camera(1)
VIDIOC_QUERYMENU: Неверный аргумент
VIDIOC_QUERYMENU: Неверный аргумент
VIDIOC_QUERYMENU: Неверный аргумент
VIDIOC_QUERYMENU: Неверный аргумент
VIDIOC_QUERYMENU: Неверный аргумент
VIDIOC_QUERYMENU: Неверный аргумент
VIDIOC_QUERYMENU: Неверный аргумент

и с командой openCV:

SimpleCV:2>  cap = cv2.VideoCapture(1)
VIDIOC_QUERYMENU: Неверный аргумент
VIDIOC_QUERYMENU: Неверный аргумент
VIDIOC_QUERYMENU: Неверный аргумент
VIDIOC_QUERYMENU: Неверный аргумент
VIDIOC_QUERYMENU: Неверный аргумент
VIDIOC_QUERYMENU: Неверный аргумент
VIDIOC_QUERYMENU: Неверный аргумент
libv4l2: ошибка установки формата пикселей: Устройство или ресурс заняты
HIGHGUI ERROR: libv4l не может выполнить ioctl S_FMT
libv4l2: ошибка установки формата пикселей: Устройство или ресурс заняты
libv4l1: ошибка установки формата пикселей: Устройство или ресурс заняты
HIGHGUI ERROR: libv4l не может выполнить ioctl VIDIOCSPICT

Попробуйте установить общие пакеты драйверов для веб-камеры в Ubuntu

sudo apt-get install build-essential linux-headers-`uname -r`

Ответ или решение

Для решения проблемы с доступом к веб-камере Logitech C930e в Ubuntu через SimpleCV, давайте рассмотрим последовательность шагов, которые могут помочь устранить возникшие ошибки.

Шаг 1: Установка необходимых пакетов

Перед тем как начнем, убедитесь, что у вас установлены все необходимые пакеты для работы с веб-камерами и медиа на вашем компьютере. Выполните следующую команду в терминале:

sudo apt-get update
sudo apt-get install build-essential linux-headers-`uname -r` libv4l-dev v4l-utils

Эта команда установит необходимые пакеты для работы с видео и веб-камерами.

Шаг 2: Проверка совместимости веб-камеры

Убедитесь, что ваша веб-камера действительно работает в Ubuntu. Вы уже упомянули, что guvcview распознает камеру, но стоит также проверить, работает ли она с другими приложениями. Попробуйте использовать cheese или v4l2-ctl для тестирования:

sudo apt-get install cheese
cheese

Если камера работает в cheese, значит, проблема, скорее всего, связана с SimpleCV или OpenCV.

Шаг 3: Открытие камеры через OpenCV

Проверьте, можно ли открыть камеру с помощью OpenCV напрямую. Запустите следующий код в Python:

import cv2

cap = cv2.VideoCapture(1)  # Попробуйте использовать 0 и 1, если один не работает

if not cap.isOpened():
    print("Ошибка: Не удалось открыть камеру")
else:
    ret, frame = cap.read()
    if ret:
        cv2.imshow('Camera', frame)
        cv2.waitKey(0)
    cap.release()
cv2.destroyAllWindows()

Если камера не открывается, это может сигнализировать о конфликте в использовании устройства.

Шаг 4: Конфликтующее использование устройства

Проблема с сообщением Device or resource busy может означать, что устройство уже используется другим процессом. Убедитесь, что другие приложения, такие как guvcview или cheese, закрыты.

Вы также можете использовать команду lsof для проверки, какие процессы используют видеоустройство:

lsof /dev/video0

Если какие-то процессы занимают устройство, выполните их завершение и повторите предыдущие шаги.

Шаг 5: Настройка SimpleCV

Если вы все еще сталкиваетесь с проблемами, попробуйте установить дополнительные зависимости и перезапустить SimpleCV, выполняя следующие команды:

pip install SimpleCV

Или:

sudo apt-get install python-simplecv

Попробуйте снова запустить ваш код SimpleCV:

from SimpleCV import Camera

cam = Camera(1)  # Если это не сработает, попробуйте 0
img = cam.getImage()
img.show()

Заключение

Следуя шагам выше, вы должны получить доступ к вашей веб-камере Logitech C930e в Ubuntu через SimpleCV. Убедитесь, что ваша система и все установленные пакеты обновлены. Если проблема сохраняется, проверьте форумы и разделы технической поддержки Ubuntu или SimpleCV для более конкретной помощи.

Оцените материал
Добавить комментарий

Капча загружается...