Я пишу программу Python на Python 3.10 venv, используя библиотеки cv2 и mediapipe, но как только я добавляю какой-либо код mediapipe, моя программа не открывает окно для моей камеры/моя камера не включается полностью. Я протестировал код, используя только cv2, и он включается и отображает камеру, как и ожидалось, но как только я добавляю код медиапайпа, показанный здесь, индикатор на моей камере включается на несколько секунд, а затем выключается и никогда не отображает видео. Я использую версию 4.13.0.90 openCV и версию v0.10.32 медиапайпа. При запуске я не получаю никаких ошибок, код просто запускается и ничего не делает. Я также знаю, что даже если бы камера работала, она не отображала бы никакого отслеживания рук или чего-то подобного из библиотеки медиапайпов, я просто запускал ее, чтобы убедиться, что она работает, но это не сработало. Я также работаю с Windows; Я уже проверил разрешения камер. Есть идеи?
import cv2
import mediapipe as mp
# print(cv2.__version__)
width=640
height=420
camera = cv2.VideoCapture(0,cv2.CAP_DSHOW) #makes camera object and uses video function with the camera in use as argument (typically 0-4 depending on port camera is plugged into)
camera.set(cv2.CAP_PROP_FRAME_WIDTH, width) #sets camera window width
camera.set(cv2.CAP_PROP_FRAME_HEIGHT, height) #sets camera window height
camera.set(cv2.CAP_PROP_FPS, 30)
camera.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc(*'MJPG'))
handsObject=mp.solutions.hands.Hands(False,2,.5,.5) #this is methods for analyzing frame for hand tracking and detection: first argument asks if it is a still image (False since using video), second argument is how many hands to look for(2), third and fourth arguments is how confident in tracking does it need to be (0.5)
mpDraw = mp.solutions.drawing_utils #annotates frame with data from hands(above)
while True: #infinite loop to run camera
ignore, frame = camera.read() #read a fram from camera
frameRGB = cv2.cvtColor(frame,cv2.COLOR_BGR2RGB) #converts bgr to rgb
results = handsObject.process(frameRGB)
cv2.imshow('Camera', frame) #from camera show frame (first argument is just naming the camera window, can be anything)
if cv2.waitKey(1) == ord('q'): #waits 1 ms (waitkey arg) and sees if ordinance (value) of q is pressed. If is then breaks out of while loop. note that & 0xff could need to be between waitkey func and == on certain systems such as windows
break
camera.release() #releases camera
Подробнее здесь: https://stackoverflow.com/questions/798 ... ands-pytho
Камере не удается выполнить потоковую передачу с помощью cv2.VideoCapture после добавления рук MediaPipe (Python 3.10, W ⇐ Python
Программы на Python
1770226996
Anonymous
Я пишу программу Python на Python 3.10 venv, используя библиотеки cv2 и mediapipe, но как только я добавляю какой-либо код mediapipe, моя программа не открывает окно для моей камеры/моя камера не включается полностью. Я протестировал код, используя только cv2, и он включается и отображает камеру, как и ожидалось, но как только я добавляю код медиапайпа, показанный здесь, индикатор на моей камере включается на несколько секунд, а затем выключается и никогда не отображает видео. Я использую версию 4.13.0.90 openCV и версию v0.10.32 медиапайпа. При запуске я не получаю никаких ошибок, код просто запускается и ничего не делает. Я также знаю, что даже если бы камера работала, она не отображала бы никакого отслеживания рук или чего-то подобного из библиотеки медиапайпов, я просто запускал ее, чтобы убедиться, что она работает, но это не сработало. Я также работаю с Windows; Я уже проверил разрешения камер. Есть идеи?
import cv2
import mediapipe as mp
# print(cv2.__version__)
width=640
height=420
camera = cv2.VideoCapture(0,cv2.CAP_DSHOW) #makes camera object and uses video function with the camera in use as argument (typically 0-4 depending on port camera is plugged into)
camera.set(cv2.CAP_PROP_FRAME_WIDTH, width) #sets camera window width
camera.set(cv2.CAP_PROP_FRAME_HEIGHT, height) #sets camera window height
camera.set(cv2.CAP_PROP_FPS, 30)
camera.set(cv2.CAP_PROP_FOURCC, cv2.VideoWriter_fourcc(*'MJPG'))
handsObject=mp.solutions.hands.Hands(False,2,.5,.5) #this is methods for analyzing frame for hand tracking and detection: first argument asks if it is a still image (False since using video), second argument is how many hands to look for(2), third and fourth arguments is how confident in tracking does it need to be (0.5)
mpDraw = mp.solutions.drawing_utils #annotates frame with data from hands(above)
while True: #infinite loop to run camera
ignore, frame = camera.read() #read a fram from camera
frameRGB = cv2.cvtColor(frame,cv2.COLOR_BGR2RGB) #converts bgr to rgb
results = handsObject.process(frameRGB)
cv2.imshow('Camera', frame) #from camera show frame (first argument is just naming the camera window, can be anything)
if cv2.waitKey(1) == ord('q'): #waits 1 ms (waitkey arg) and sees if ordinance (value) of q is pressed. If is then breaks out of while loop. note that & 0xff could need to be between waitkey func and == on certain systems such as windows
break
camera.release() #releases camera
Подробнее здесь: [url]https://stackoverflow.com/questions/79882964/camera-fails-to-stream-with-cv2-videocapture-after-adding-mediapipe-hands-pytho[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия