मैं DLLs कि LabVIEW से कहा जा सकता है लेखन से परिचित हूँ, लेकिन मैं एक DLL को IMAQ छवियाँ पारित करने के लिए हो सकता है क्या सही तरीका जानने के लिए उत्सुक हूँ। यहां एक ऐसा तरीका है जिसे मैंने ऐसा पाया है - मैं अपने डीएलएल से इवेंट संरचना में IMAQ छवि उदाहरण पोस्ट करने के लिए एक समान तंत्र का भी उपयोग करता हूं।LabVIEW, सी ++ DLL, और IMAQ छवियाँ
ध्यान दें कि नोड्स समूहों से करने के लिए/छवि उदाहरणों में परिवर्तित ${LABVIEW_INSTALL_DIR}/vi.lib/vision/DatatypeConversion.llb
में स्थित हैं, और क्रमशः IMAQ Image Datatype to Image Cluster.vi
और IMAQ Image Cluster to Image Datatype.vi
, नाम हैं। बनाए गए क्लस्टर में छवि का नाम और एक पूर्णांक मान होता है जो सूचकांक को Image*
में C/C++ में टाइप करता है।
इस यह करने के लिए सबसे अच्छा तरीका है, या वहाँ एक बेहतर तरीका है?
एक समस्या जो मैं देख सकता हूं वह यह है कि रूपांतरण नोड U32 दे रहा है। यदि आप 64 बिट पर हैं तो समस्याएं हो सकती हैं ... – CharlesB
हाँ, मैंने देखा कि - ऐसा इसलिए हो रहा है क्योंकि मैं डीएलएल में फ़ंक्शन कॉल के लिए पैरामीटर को 'पॉइंटर साइज्ड इंटीजर' के रूप में परिभाषित कर रहा हूं। चूंकि मैं 32-बिट वातावरण में परिचालन कर रहा हूं, यह मुझे सीधे प्रभावित नहीं करता है - यह उत्सुक है, हालांकि 32-बिट आउटपुट मामला होता है, क्योंकि मैं एनआई विजन 2011 चला रहा हूं, जो स्वयं को समर्पित करता है 64-बिट समर्थन है। उपरोक्त क्लस्टर से आउटपुट को देखते हुए, यह पूरी तरह से सच नहीं प्रतीत होता है ... – hatboyzero
ठीक है, मुझे पूरा यकीन है कि 64 बिट वातावरण में यह 64 बिट पॉइंटर – CharlesB