2010-08-27 4 views
2

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

спасибо.

ответ

1

Ладно, ребята, так что, наконец, после долгой борьбы (возможно, потому, что я новичок в Python), я решил его ,

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

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

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

0

Я бы предположить, эти unsigned char s фактические байты изображения, так что вы можете сохранить их непосредственно через: (. До тех пор пока у вас уже есть файл с именем filename в текущем рабочем каталоге)

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

+0

Hey Beau ... спасибо – blueskin

1

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

How to read a raw image using PIL?

Кроме того, есть хорошая статья о захвате данных с камеры с помощью питона и OpenCV, который стоит прочитать: http://www.jperla.com/blog/post/capturing-frames-from-a-webcam-on-linux

+0

хорошо. камера - камера 1394, и я не думаю, что смогу получить изображения с помощью OpenCV. В примере fromstring python загружается из файла в двоичный формат, который является простым. В моем случае у меня есть пользовательская структура из библиотеки 1394, которая содержит изображение, и единственный способ получить доступ к данным - через unsigned char *. Я просто получил некоторые идеи по использованию OpenCV для обхода механизма указателя, я попытаюсь сохранить и опубликовать – blueskin

+0

Как насчет метода frombuffer? – karlphillip

+0

Я пытался, но не работал, я вставил свой код и ошибки ниже – blueskin

Смежные вопросы