Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > Python
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 31.01.2020, 15:27   #1
VolodyaBuzin
Пользователь
 
Регистрация: 10.11.2017
Сообщений: 56
По умолчанию Проблемы с отрисовкой изображения с камеры и закрытием программы

Добрый день! Я изучаю библиотеку OpenCV и основы работы с web-камерой по этому курсу:
https://www.intuit.ru/studies/course...e/17985?page=2
Почему во втором примере отрисовка контуров неточная, изображение перевёрнуто (правая рука слева, а левая - справа), а окно не закрывается? Как увеличить точность отрисовки границ, сделать отражённое изображение нормальным, а цикл конечным?

Исходный код:
Код:
import sys, cv2 as cv
cap = cv.VideoCapture(0)
# Инициализация для захвата с веб-камеры
while True:
 ok, img = cap.read()
 #Загружаем очередной кадр
 if not ok:
  break
 gray = cv.cvtColor(img, cv.COLOR_BGR2GRAY)
# Конвертируем цветное изображение в монохромное
 gray = cv.GaussianBlur(gray, (7, 7), 1.5)
# Добравляем размытие
 edges = cv.Canny(gray, 1, 50)
 # Детектируем ребра
 cv.imshow("edges", edges)
 # Отображаем результат
 if cv.waitKey(30) > 0:
     # Ожидаем 30 мс
  break
     # Если клавиша нажата, то выход из цикла
Работаю в Anaconda 2019, PyCharm Community и Python 3.7.
VolodyaBuzin вне форума Ответить с цитированием
Старый 31.01.2020, 17:58   #2
Desc
Участник клуба
 
Аватар для Desc
 
Регистрация: 21.11.2007
Сообщений: 1,063
По умолчанию

Цитата:
Сообщение от VolodyaBuzin Посмотреть сообщение
Почему во втором примере отрисовка контуров неточная
Зависит от разрешения и качества матрицы камеры и класса оптической системы. Так-же важную роль играет освещенность наблюдаемого объекта.

Цитата:
Сообщение от VolodyaBuzin Посмотреть сообщение
изображение перевёрнуто (правая рука слева, а левая - справа)
Камера транслирует то что видит со своей позиции размещения. Поставте себя на место камеры и вы будете видеть точно так-же.

Цитата:
Сообщение от VolodyaBuzin Посмотреть сообщение
а окно не закрывается?
Решение:
Код:
 cv.imshow("edges", edges)
# Отображаем результат
#---------------------------------------------
# Press key "q" to exit
 if cv.waitKey(1) & 0xFF == ord('q'):
     break
# When everything is done, release the capture
cap.release()
cv.destroyAllWindows()
I am not a wizard, I am just learning.
Desc вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблемы с отрисовкой GonzA C# (си шарп) 1 31.10.2013 13:52
События перед закрытием программы. celovec Общие вопросы Delphi 1 05.09.2011 23:15
Проблемы с отрисовкой на экране Stilet Компьютерное железо 9 28.11.2010 17:11
Проблемы с отрисовкой в Direct3D Trapper Gamedev - cоздание игр: Unity, OpenGL, DirectX 3 28.07.2009 18:49