Без знака char* изображение в Python

Мне удалось сгенерировать привязки Python для библиотеки камер с помощью SWIG, и я могу захватывать и сохранять изображения с помощью встроенных функций библиотеки. Я пытаюсь получить данные с камеры в формате библиотеки изображений Python, библиотека предоставляет функции для возврата данных камеры в виде знака без знака * . Кто-нибудь знает, как преобразовать данные без знака char* в какой-либо формат данных, который я могу использовать в Python? В основном я пытаюсь преобразовать данные без знака char* в формат библиотеки изображений Python.

Спасибо.

3 ответа

Решение

Хорошо, ребята, так что, наконец, после долгого боя (может быть, потому что я новичок в питоне), я решил это.

Я написал структуру данных, понятную Python, и преобразовал неподписанное изображение char * в эту структуру. После написания интерфейса для пользовательской структуры данных я смог получить изображение в формате изображения библиотеки изображений Python. Я хотел вставить код здесь, но он не позволил бы более 500 символов. Вот ссылка на мой код

http://www.optionsbender.com/technologybending/python/unsignedcharimagedatatopilimage

Я также приложил файлы, чтобы вы могли использовать его.

Я считаю, что вы должны использовать fromstring метод, как описано здесь:

Как прочитать сырое изображение с помощью PIL?

Также есть хорошая статья о захвате данных с камеры с использованием python и opencv, которую стоит прочитать: http://www.jperla.com/blog/post/capturing-frames-from-a-webcam-on-linux

Я бы предположил, что те unsigned chars - это фактические байты изображения, так что вы можете сохранить их напрямую через:

with open('filename', mode='wb') as file:
    file.write(image_bytes)

(Пока у вас уже есть файл с именем filename в текущем рабочем каталоге.)

Другие вопросы по тегам