Сохранение модуля 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() 

  • Выполнить скрипт Python из Php
  • Ошибка сегментации с opencv, в python на малине
  • Сканирование QR-кода через zbar и Raspicam modul
  • Как добавить журнал в файл с отметками времени на Python TCP Server для малины Pi
  • Как вы обновляетесь до последней версии python 3.5.1 на малиновом pi?
  • отдельные частоты из музыки
  • Как удалить предварительный просмотр камеры до малины pi
  • Python и gpio малина
  • 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.

    Python - лучший язык программирования в мире.