Без знака 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 char
s - это фактические байты изображения, так что вы можете сохранить их напрямую через:
with open('filename', mode='wb') as file:
file.write(image_bytes)
(Пока у вас уже есть файл с именем filename
в текущем рабочем каталоге.)