Подключите камеру телефона Android к OpenCV - Python

Опубликовано: 16 Июля, 2021

Предварительные требования : OpenCV

OpenCV - это огромная библиотека с открытым исходным кодом для компьютерного зрения, машинного обучения и обработки изображений. OpenCV поддерживает широкий спектр языков программирования, таких как Python, C ++, Java и т. Д. Он может обрабатывать изображения и видео для идентификации объектов, лиц или даже почерка человека.

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

В этой статье для этого используется Windows. Но основы кода будут такими же и в других операционных системах.

Подход

  • Загрузите и установите приложение IP Webcam на свой мобильный телефон.
  • Затем убедитесь, что ваш компьютер и телефон подключены к одной сети. Откройте приложение IP-веб-камеры на обоих, нажмите «Запустить сервер» (обычно находится внизу). Это откроет камеру на вашем телефоне.
  • URL-адрес отображается на экране телефона, введите тот же URL-адрес в браузере вашего ПК и в разделе «Средство визуализации видео» щелкните «Javascript».

  • Вы можете просматривать видео, снятое на ваш телефон, которое начинает отображаться в вашем браузере. Теперь мы собираемся взять данные изображения из URL-адреса с помощью модуля запроса и преобразовать их в кадр изображения с помощью NumPy и, наконец, начать использовать нашу камеру Android в качестве веб-камеры в Python.
  • В коде:
    • Модуль импорта
    • Добавить URL-адрес, отображаемый в вашем телефоне
    • Непрерывная выборка данных из URL
    • Продолжайте отображать эти собранные данные
    • Закрытое окно

Программа:

Python3




# Import essential libraries
requests import
import cv2
import numpy as np
import imutils
# Replace the below URL with your own. Make sure to add "/shot.jpg" at last.
# While loop to continuously fetching data from the Url
while True :
img_resp = requests.get(url)
img_arr = np.array(bytearray(img_resp.content), dtype = np.uint8)
img = cv2.imdecode(img_arr, - 1 )
img = imutils.resize(img, width = 1000 , height = 1800 )
cv2.imshow( "Android_cam" , img)
# Press Esc key to exit
if cv2.waitKey( 1 ) = = 27 :
break
cv2.destroyAllWindows()

Выход:

Внимание компьютерщик! Укрепите свои основы с помощью базового курса программирования Python и изучите основы.

Для начала подготовьтесь к собеседованию. Расширьте свои концепции структур данных с помощью курса Python DS. А чтобы начать свое путешествие по машинному обучению, присоединяйтесь к курсу Машинное обучение - базовый уровень.