@bulat_tat

OpenCV не видит камеру. Что делать?

При попытке передать изображение с вебки на OpenСV выводит ошибку:
import cv2 as cv
cam = cv.VideoCapture(1)
while True:
	success, img = cam.read()
	cv.imshow('result', img)
	cv.waitKey(0)

cv2.error: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:967: error: (-215:Assertion failed) size.width>0 && size.height>0 in function 'cv::imshow'

Попробовал подключить ту же вебку на ноутбук, всё работает.
  • Вопрос задан
  • 1169 просмотров
Пригласить эксперта
Ответы на вопрос 3
Vindicar
@Vindicar
RTFM!
Сколько камер на том компе, где не работает?
Потому что параметр VideoCapture() - это, условно, номер камеры в списке камер. Если на компе только одна камера, то номер должен быть 0, если две, то номера будут 0 и 1, и так далее.
Способа открыть камеру по имени сам opencv не предоставляет, хотя вроде есть сторонние пакеты, которые это исправляют - в плане получения списка камер в том же порядке, в каком их индексы будут использоваться VideoCapture().
Ответ написан
AgentSmith
@AgentSmith
Это мой правильный ответ на твой вопрос
cam = cv.VideoCapture(1)

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

Вот мы и дожили до времён, когда "программисты" не знают с чего начинается нумерация массивах и коллекциях
Ответ написан
@SaQu
Возможно ваша камера находится в вне диапазона.Скорее всего родная камера компьютера находится по индексом "0"->
import cv2 as cv
cam = cv.VideoCapture(0)
while True:
success, img = cam.read()
cv.imshow('result', img)
cv.waitKey(0)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы