2015-10-13 9 views
14

मेरे पास पीआईएल छवि प्रारूप में एक छवि है। मुझे इसे बाइट सरणी में बदलने की जरूरत है।पीआईएल छवि को बाइट सरणी में कनवर्ट करें?

img = Image.open(fh, mode='r') 
roiImg = img.crop(box) 

अब मुझे roiImg को बाइट सरणी के रूप में चाहिए।

+2

कृपया अधिक जानकारी प्रदान करें। बाइट सरणी किस प्रारूप में है? कच्चे पिक्सेल मान 'Image.getdata()' के माध्यम से उपलब्ध हैं, जो आंतरिक प्रतिनिधित्व पीआईएल किसी विशेष प्लेटफ़ॉर्म पर किसी विशेष प्रारूप में छवि के लिए उपयोग करता है। – dhke

+0

सुनिश्चित नहीं है, लेकिन ऐसा लगता है कि आपको 'इमेज' ['getdata()'] (http://pillow.readthedocs.org/en/3.0.x/reference/Image.html#PIL का उपयोग करने की आवश्यकता है। Image.Image.getdata) विधि। – martineau

+0

मेरा उद्देश्य छवि को mysql डेटाबेस में एक बीएलओबी प्रकार के रूप में सहेजना है। –

उत्तर

34

आपकी मदद के लिए सभी को धन्यवाद।

अंत में यह हल हो गया !!

import io 

img = Image.open(fh, mode='r') 
roiImg = img.crop(box) 

imgByteArr = io.BytesIO() 
roiImg.save(imgByteArr, format='PNG') 
imgByteArr = imgByteArr.getvalue() 
इस मैं अपने हार्ड डिस्क में फसली छवि को बचाने के लिए और मैं एक जनहित याचिका से बाइट सरणी पुनः प्राप्त कर रहा हूँ की जरूरत नहीं है के साथ

छवि काटी।

+0

के समान प्रारूप में 'roiImg' की आवश्यकता है इस उदाहरण के लिए धन्यवाद! मैं बस यह वही काम करने की कोशिश कर रहा था। – statueofmike

+0

क्या आप आयात io जोड़ सकते हैं? –

+0

बॉक्स परिभाषित नहीं किया गया है। –

संबंधित मुद्दे