今天有一个问题就是需要将网络字节流或者是Image对象转化为二进制字节流数据,之后借助于base64模块实现编码最终post到服务接口端,这里没有过多要去讲解的,直接看实现就行。
#!usr/bin/env python
# encoding:utf-8
from __future__ import division
'''
__Author__:沂水寒城
功能: Python PIL模块Image对象、字节流对象转二进制字节流
'''
import io
import os
import requests
from PIL import Image
import matplotlib.pyplot as plt
def image2Binary():
'''
Image对象转化为二进制字节流对象
'''
img=Image.open('a.png')
new=img.crop([0,67,400,340])
plt.clf()
plt.figure(figsize=(8,6))
plt.subplot(1,2,1)
plt.imshow(img)
plt.title("original")
plt.subplot(1,2,2)
plt.imshow(new)
plt.title("crop")
plt.show()
#图像文件可以从本地静态文件中直接读取为二进制字节流形式