2012-06-10 23 views
10

पढ़ना मैं पाइथन में ओपनसीवी 2.4 का उपयोग कर 16 बिट ग्रेस्केल छवि पढ़ने की कोशिश कर रहा हूं, लेकिन ऐसा लगता है कि यह 8 बिट के रूप में लोड हो रहा है।ओपनसीवी - 16 बिट ग्रेस्केल छवि

मैं कर रहा हूँ:

im = cv2.imread(path,0) 
print im 

[[25 25 28 ..., 0 0 0] 
[ 0 0 0 ..., 0 0 0] 
[ 0 0 0 ..., 0 0 0] 
..., 

मैं इसे कैसे 16 बिट के रूप में मिलता है?

उत्तर

14

इसे समझ लिया। मामले में किसी और को इस समस्या में चलाता है:

im = cv2.imread(path,-1) 

0 करने के लिए ध्वज की स्थापना, के रूप में ग्रेस्केल 8 बिट के लिए डिफ़ॉल्ट लगता है लोड करने के लिए। -1 को सेट करना "जैसा है" छवि लोड करता है।

2

मेरे पास एक ही समस्या थी (16-बिट .tif cv2.imread का उपयोग करके 8-बिट के रूप में लोड हो रहा है)। हालांकि, -1 ध्वज का उपयोग करने में मदद नहीं मिली। इसके बजाय, मैं tifffile पैकेज का उपयोग कर 16-बिट छवियों को लोड करने में सक्षम था।

2

पठनीयता में सुधार करने के लिए ध्वज का उपयोग cv2.IMREAD_ANYDEPTH

image = cv2.imread(path, cv2.IMREAD_ANYDEPTH) 
संबंधित मुद्दे