2013-02-15 41 views
5

साथ लिनक्स पर GigE कैमरा के साथ छवियां प्राप्त करना वहाँ एक पुस्तकालय है कि मैं लिनक्स पर सादा सी के साथ एक GigE कैमरे से छवियों को प्राप्त करने के लिए उपयोग कर सकते हैं है? अधिक विशिष्ट होने के लिए मेरे पास बेसलर गीग कैमरा और पिलोन सॉफ़्टवेयर स्थापित है। सी ++ में नमूना कोड भी है। लेकिन मैं चाहता हूँ और सी का प्रयोग करना होगा (अपने काम में यह वास्तव में सी उपयोग करने के लिए करने के लिए सही बात है)। यह बहुत अच्छा होगा अगर गिग के लिए libdc1394 के रूप में कुछ उपयोगी था।कैसे सादा सी

उत्तर

-6

अगर मैं तुम्हें सही समझते हैं, "GigE" बस "गीगा बिट ईथरनेट" है, और फिर मैं कैमरा मान होता आईपी चलाता है। एक trivial Google search इस का समर्थन करता प्रतीत होता है (वे मेरे लिए ईथरनेट केबल्स की तरह दिखते हैं)।

तो, आप कैसे कैमरे के लिए एक कनेक्शन को खोलने के लिए के बारे में जानकारी प्राप्त करने के लिए सी के लिए किसी भी उपवन के प्रकार सॉकेट ट्यूटोरियल उपयोग करने के लिए सक्षम होना चाहिए।

बेशक

, आप प्रोटोकॉल जानकारी है कि कैमरा में हो सकती है की आवश्यकता होगी, हो सकता है, क्या एक छवि प्राप्त करने के लिए, और कैसे दिए गए डेटा की व्याख्या करने के क्रम में भेजने के लिए सीखने के लिए जा रहे हैं। यह आपके पास पहले से मौजूद सी ++ कोड से निकाला जा सकता है।

+0

नमूना कोड मुझे प्रोटोकॉल के बारे में कुछ भी नहीं बताता है। यह सिर्फ द्विआधारी से कक्षाओं का आयात कर रहा है। हालांकि अगर मेरे पास प्रोटोकॉल चश्मा था तो मुझे लगता है कि यह मेरी मदद करेगा। – Bitterblue

+0

गीगी दृष्टि आईपी पर यूडीपी का उपयोग करती है, लेकिन यह बहुत खराब है, और मुझे नहीं लगता कि इसके किसी भी मुफ्त कार्यान्वयन हैं। –

6

"GigE Vision" वास्तव में एक कंप्यूटर दृष्टि कैमरा मानक है, और सबसे कैमरों में भी मानकों समायोजित करने के लिए Genicam मानक लागू। कम से कम है कि सिद्धांत है - मैं एक उच्च गति GigE कैमरा कि तोरण या एवीटी से कुछ अज्ञात कारण से (आधिकारिक तौर पर यह केवल Pleora से eBus द्वारा समर्थित है) के लिए नहीं मिला है। आप उन मानकों के लिए विनिर्देश प्राप्त करने में सक्षम हो सकते हैं, लेकिन मुझे यकीन नहीं है कि वे स्वतंत्र रूप से उपलब्ध हैं या नहीं।

लाइब्रेरी के संबंध में, मैंने अभी Ubuntu12.04 के तहत Aravis को आजमाया और यह मेरे कैमरे के लिए काम किया (1 9 0x512 पिक्सल को 1 9 0 फ्रेम/सेकंड पर स्ट्रीमिंग)। जहां तक ​​मैं कह सकता हूं सी में लिखा गया है। एक संकेत के रूप में, जो दर्शक शामिल है उसे संकलित करने के लिए आपको libgstreamer-plugins-base0.10-dev सहित सभी gstreamer-dev संकुल को संस्थापित करना होगा।

2

गीग मानक बहुत खुले स्रोत के अनुकूल नहीं है - आपको मानक संगठन को वार्षिक लाइसेंस शुल्क का भुगतान करना होगा, यही कारण है कि अधिकांश सॉफ्टवेयर जो गीग विजन का उपयोग करते हैं, की पर्याप्त राशि होती है। कंपनियों का एक समूह मानक बनाने के लिए एक साथ आया और वे जल्द ही इसे दुनिया में प्रकाशित करने की संभावना नहीं रखते हैं।

तो यहाँ

1) रिवर्स इंजीनियर प्रोटोकॉल अपने आप को अपने विकल्पों में से कुछ कर रहे हैं (मैं के बारे में सोच सकते हैं कि) ...। यह बहुत जटिल है ताकि यह एक बड़ी परियोजना होगी।

2) शायद तुम भाग्यशाली हो और एक कंपनी एसडीके वे आप बेच सकते हैं की एक सी संस्करण है कि मिल जाएगा?

3) का प्रयोग करें सी ++ :-) (जे ...)

4) भुगतान मानक संगठन आप एक कंपनी इस पर है कि के साथ पहुंच सकता है या साथी देने के लिए।

5) खुला स्रोत परियोजनाओं है कि मानक रिवर्स इंजीनियर का प्रयास कर रहे प्रयोग करें। (मुझे नहीं पता कि उस पर वैधता नियम क्या हैं)। उदाहरण: अरविस, और ओपनजीगविजन। ये समाधान शायद थोड़ी देर के लिए अधूरी रहेगी, लेकिन वे कम से कम मूल बातें समर्थन करना चाहिए।

मुझे लगता है कि # 5 आपका सर्वश्रेष्ठ दांव है अगर आप समय या पैसा खर्च करने का एक बहुत जरूरत नहीं है।

4

अधिकतर कार्यान्वयन सी ++ का उपयोग करेंगे और उस पर सी-एपीआई बिल्डिंग का सबसे अच्छा खुलासा करेंगे क्योंकि जेनिकाम लागू करने के लिए एक बहुत ही जटिल चीज है - और संदर्भ कार्यान्वयन कार्य निःशुल्क है और लगभग सभी एसडीके विक्रेताओं द्वारा इसका उपयोग किया जाता है। आप सी में बहुत ज्यादा अधिग्रहण को लागू कर सकते हैं लेकिन लूप से जेनिकाम को काटना बहुत मुश्किल है - ऐसा इसलिए है क्योंकि विक्रेताओं ने जेनिकाम एक्सएमएल दस्तावेजों को डोमेन विशिष्ट प्रोग्रामिंग भाषा/पर्यावरण के रूप में इस्तेमाल किया है - प्रयास तुलनीय है स्क्रैच से एक वेब ब्राउज़र को लागू करना।

Aravis मौजूद है लेकिन जीस्ट्रीमर पर निर्भर करता है और मुख्य रूप से सी में प्रतीत होता है लेकिन यह केवल कई कैमरों के लिए आवश्यक जटिल XML समर्थन पर ही जाएगा। मैं कभी भी एक मिशन महत्वपूर्ण सेटिंग में gstreamer का उपयोग नहीं करता या जहां उच्च प्रदर्शन या उच्च दक्षता की आवश्यकता होती है, इसके अतिरिक्त विश्वसनीय संचालन की आवश्यकता होती है। मेरा मानना ​​है कि बाजार पर सबसे अच्छा विकल्प प्लोरा का एसडीके एफवाईआई है - कोई संबंध नहीं। ऐसा कहकर - मैंने ऐसी लाइब्रेरी लिखी है (सी ++ :-) के साथ जो मैंने उल्लेख की है समस्याओं को साझा नहीं कर सकता।