OpenCV: невозможно выполнить потоковую передачу с веб-камеры (встроенная и внешняя Logitech C270)Python

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 OpenCV: невозможно выполнить потоковую передачу с веб-камеры (встроенная и внешняя Logitech C270)

Сообщение Anonymous »

Я пытаюсь проверить, могу ли я транслировать изображение с камеры в OpenCV. У меня к ноутбуку подключены две камеры:
  • Встроенная веб-камера.
  • Внешняя веб-камера Logitech C270.
Обе камеры работают нормально, когда я использую их в VLC или приложении Windows Camera. Однако у меня возникли проблемы с OpenCV:
  • Когда я использую cv2.VideoCapture(0), я получаю сообщение об ошибке:
    Ошибка: не удалось открыть веб-камеру.
  • Когда я использую cv2.VideoCapture(1), я не вижу никаких ошибок, но отображаемый кадр полностью черный. Я подозреваю, что индекс 1 должен быть правильным индексом для моей внешней камеры.
Дополнительно:
  • Когда я запускаю код с индексом 1, внешняя камера становится недоступной в других программах, что имеет смысл, поскольку OpenCV берет на себя управление устройством.
  • Я гарантировал, что Python 3.11 имеет разрешение на доступ к камере в настройках Windows, и индикатор использования камеры подтверждает это что камера используется.
  • Похоже, проблема не связана с VS Code. У меня такое же поведение при запуске скрипта прямо из терминала.
Не могу понять:
  • Почему я не могу получить доступ к встроенной веб-камере (индекс 0).
  • Почему моя внешняя камера (индекс 1) показывает черный экран в OpenCV.
Вот мой код:

Код: Выделить всё

import cv2

def main():
print("Press 'q' to quit the program.")
# Open a connection to the webcam (0 is the default camera)
cap = cv2.VideoCapture(0)

if not cap.isOpened():
print("Error: Could not open webcam.")
return

# Allow the camera to warm up
cv2.waitKey(1000)

while True:
# Capture frame-by-frame
ret, frame = cap.read()

if not ret:
print("Error: Could not read frame.")
break

# Display the resulting frame
cv2.imshow('Webcam Stream', frame)

# Break the loop on 'q' key press
if cv2.waitKey(1) & 0xFF == ord('q'):
break

# When everything is done, release the capture
cap.release()
cv2.destroyAllWindows()

if __name__ == "__main__":
main()
Я был бы признателен за любые советы о том, как отладить или решить эту проблему. Существуют ли дополнительные конфигурации, которые мне следует проверить? Есть ли лучший способ протестировать обе камеры?
Заранее спасибо!

Подробнее здесь: https://stackoverflow.com/questions/792 ... itech-c270
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»