Вопрос или проблема
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 для более конкретной помощи.