2015-10-13 16 views
14

Tôi có một hình ảnh ở định dạng Hình ảnh PIL. Tôi cần phải chuyển đổi nó thành mảng byte.Chuyển đổi hình ảnh PIL thành mảng byte?

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

Bây giờ tôi cần roiImg làm mảng byte.

+2

Vui lòng cung cấp thêm chi tiết. Định dạng mảng byte là gì? Các giá trị pixel thô có sẵn thông qua 'Image.getdata()', trả về biểu diễn bên trong PIL sử dụng cho một hình ảnh ở một định dạng cụ thể trên một nền tảng cụ thể. – dhke

+0

Không chắc chắn, nhưng có vẻ như bạn cần sử dụng '' getage ('getdata()'] của 'Image' (http://pillow.readthedocs.org/en/3.0.x/reference/Image.html#PIL. Image.Image.getdata). – martineau

+0

Mục tiêu của tôi là lưu hình ảnh trong cơ sở dữ liệu mysql dưới dạng kiểu BLOB. –

Trả lời

34

Cảm ơn mọi người đã giúp đỡ của bạn.

Cuối cùng giải quyết được !!

import io 

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

imgByteArr = io.BytesIO() 
roiImg.save(imgByteArr, format='PNG') 
imgByteArr = imgByteArr.getvalue() 

Với điều này tôi không phải lưu hình ảnh đã cắt trong đĩa cứng và tôi có thể truy xuất mảng byte từ hình ảnh được cắt PIL.

+0

Cảm ơn bạn về ví dụ này! Tôi chỉ đang cố gắng làm điều tương tự này. – statueofmike

+0

bạn có thể thêm nhập io không? Hộp –

+0

không được xác định. –

Các vấn đề liên quan