Сохранение модуля imgproc для малины python

Привет, я использую библиотеку python под названием imgproc которая делает это так, что я могу снимать изображения с веб-камеры на малину-пи. Но я не знаю, как сохранить его в файле .jpg . Я исследовал всюду, но я не могу найти ответ нигде. Ссылка на библиотеку здесь . Я пробовал все, но у меня нет пи-куба, который является правильным методом. Имеет мой текущий код:

 import socket import time from imgproc import * cam = Camera(320, 240) host = "example.com" port = 8888 s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) ri = socket.gethostbyname(host) s.connect((ri , port)) x = True while x: img = cam.grabImage() 

One Solution collect form web for “Сохранение модуля imgproc для малины python”

Это возможно, используя, например, PIL или другую подобную библиотеку. Однако, если вы хотите, чтобы это было быстро, есть некоторые проблемы.

Задача исходит из API imgproc , который, похоже, не позволяет быстро получить доступ к данным изображения. Единственный метод для этого – использование метода __getitem__ объекта Image , например img[x,y] . Это очень похоже на массивы numpy , но, к сожалению, у них нет ничего общего.

imgproc – очень тонкая оболочка, построенная на библиотеке C. Поучительно взглянуть на imgproc.py , поскольку он показывает все доступные привязки.

Скорее всего, вам придется построить пиксель за пикселем, что не очень быстро. Например:

 img_array = numpy.array([ [ img[x,y] for x in range(img.width) ] for y in range(img.height) ] , dtype='uint8') 

Когда у вас есть массив изображений, вы можете преобразовать его в изображение PIL и сохранить изображение:

 pil_img = Image.fromarray(img_array) pil_img.save('my_image.jpg') 

Для этого вам нужны модули numpy и Image (PIL). Этот метод не очень быстрый. Альтернативой является создание пустого массива numpy и его заполнение:

 img_array = numpy.empty((img.height, img.width, 3), dtype='uint8') for y in range(img.height): for x in range(img.height): img_array[y,x] = img[x,y] 

Только тестирование покажет, какой из них менее медленный.

В принципе, не слишком сложно увеличить библиотеку, добавив в библиотеку бит более мощные функции-обертки, чтобы вернуть содержимое двоичного буфера в лучшем формате, но для этого требуется знание как в C, так и в python.

  • Как удалить предварительный просмотр камеры до малины pi
  • webrtc без браузера
  • Установка SDK Informix Client на малиновый pi
  • Невозможно выполнить скрипт Python из документа PHP
  • Есть ли у Raspberry Pi 2 модель B v1.1 внутренний RTC?
  • Выполнить скрипт Python из Php
  • Обновить веб-страницу с помощью скрипта CGI Python
  • Python и gpio малина
  • Python - лучший язык программирования в мире.