سؤال

تمكنت من إنشاء روابط Python لمكتبة الكاميرا باستخدام SWIG وأتمكن من التقاط الصورة وحفظها باستخدام وظائف المكتبة في ثناياه عوامل. أحاول الحصول على بيانات من الكاميرا إلى تنسيق مكتبة Python Image ، توفر المكتبة وظائف لإرجاع بيانات الكاميرا كـ char* غير موقعة. هل يعرف أي شخص كيفية تحويل بيانات صورة char* غير موقعة إلى بعض تنسيقات البيانات التي يمكنني استخدامها في بيثون؟ في الأساس أحاول تحويل بيانات صورة char* غير موقعة إلى تنسيق مكتبة صور بيثون.

شكرًا لك.

هل كانت مفيدة؟

المحلول 2

حسنًا يا رفاق ، لذا أخيرًا بعد معركة طويلة (ربما لأنني مبتدئ في بيثون) ، قمت بحلها.

كتبت بنية بيانات يمكن فهمها من قبل Python وتحويل صورة Char* غير الموقعة إلى هذا الهيكل. بعد كتابة واجهة بنية البيانات المخصصة ، تمكنت من الحصول على الصورة في تنسيق صورة Python Image Library. أردت لصق الكود هنا ولكنه لن يسمح بمزيد من chars 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 في دليل العمل الحالي.)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top