Q: 问题描述
A: 不同的数据加载方式,通过base64编码后,利用tornado请求算法服务时,返回结果不同。
现象
- 图片内存大小为96,518 字节,先看下不同加载方式获得的二进制流的大小
>>> import cv2
>>> from io import BytesIO #py3
>>> from PIL import Image
>>> img_path='500_ChsEj17LW0eAWNZcAARjScabz30768.jpg'
>>> bytes = open(img_path, 'rb').read()
>>> img_cv = cv2.imread(img_path)
>>> img_pil = Image.open(img_path)
>>> flag_cvt, img_buff_cv = cv2.imencode('.jpg', img_cv)
>>> pil_buffer = BytesIO()
>>> img_pil.save(pil_buffer, format='JPEG')
>>> bytes_pil = pil_buffer.getvalue()
>>> len(bytes)
96518
>>> len(img_buff_cv)
143421
>>> len(img_buff_cv.tobytes())
143421
>>> len(img_buff_cv.tostring())
143421
>>> len(bytes_pil)
80360
- 请求结果。其中请