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

  • Как изменить размер изображения с помощью PIL и сохранить его соотношение сторон?
  • Раскрасить изображение, сохраняя прозрачность с помощью PIL?
  • Сюжет Python - многослойные срезы изображений
  • Django PIL: IOError Не удается определить файл образа
  • Как разделить изображение на несколько частей в Python
  • Как написать фильтр изображения PIL для простого формата pgm?
  • Web Crawler Чтобы получить ссылки с нового сайта
  • Разберите JavaScript, возвращенный с BeautifulSoup
  • Статические методы в Python?
  • Python: как передать аргументы функции __code__ функции?
  • как поймать все неискушенные исключения и продолжить?
  • В Django, как фильтровать QuerySet с динамическим поиском полей?
  • 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 - лучший язык программирования в мире.