दोनों बाइट्स को पढ़ना मेरे पास एक बाइनरी बैंड अनुक्रमिक (1-बैंड, बीएसक्यू फ़ाइल) है, जो एक हस्ताक्षरित 16-बिट (2-बाइट) पूर्णांक है।MATLAB: एक असाइन किए गए 16-बिट बाइनरी फ़ाइल
वर्तमान में मैं multibandread के माध्यम से पूरे (छवि) पढ़ रहा हूँ:
img=multibandread('IMAGE.bsq',[400 400 1],'uint16',0,'bsq','n');
MATLAB में क्या प्रक्रिया मुझे दोनों को व्यक्तिगत रूप से बाइट्स पढ़ने के लिए अनुमति होगी? यानी मैं MATLAB में फ़ाइल को 2 नए सरणी में पढ़ना चाहता हूं उदा। बाइट 1 (400x400x1) और बाइट 2 (400x400x1)।
क्या यह fread के माध्यम से हासिल किया जा सकता है? मैं 'सटीक' खंड में नोट करता हूं कि स्रोत मानों को छोड़ना संभव है (उदा। 'N*source=>output'
), लेकिन मुझे सटीक प्रक्रिया के बारे में अनिश्चितता है।
क्या आपने 'uint16 'के बजाय' uint8'' निर्दिष्ट करने का प्रयास किया, परिणाम प्राप्त किया और फिर इसे दो छवियों में विभाजित किया? या वैकल्पिक रूप से बिटवायर ऑपरेशंस का उपयोग कर अपने वर्तमान परिणाम को दो छवियों में विभाजित कर रहे हैं? –
मुझे 'uint16' सरणी से दोनों बाइट निकालने की आवश्यकता है - इसे 'uint8' के रूप में पढ़ना होगा? (हालांकि मैं दूसरे बाइट में निहित डेटा में अधिक रुचि रखता हूं) – MBL