我可以通过PIL,OpenCV等从HDD读取jpg图像。通过一些内置函数(如arr= cv2.imread(filename)
)来排列数组。如何从内存中解码JPG图像?
但如何从内存中解码二进制fromat jpg?
使用案例:我想把二进制格式的JPG图像数据库,然后从数据库读取到RAM并将其解码为numpy数组是否可能?
我可以通过PIL,OpenCV等从HDD读取jpg图像。通过一些内置函数(如arr= cv2.imread(filename)
)来排列数组。如何从内存中解码JPG图像?
但如何从内存中解码二进制fromat jpg?
使用案例:我想把二进制格式的JPG图像数据库,然后从数据库读取到RAM并将其解码为numpy数组是否可能?
假设要存储在DB中的图像数据作为string
,首先需要使用cv2.imdecode
以构建从该字符串以后可以转换为图像的numpy
数组:
img = cv2.imdecode(np.fromstring(img_data, dtype=np.uint8), -1)
为python3用这种方式
f= open('file.png', 'rb')
fs = f.read()
likefile = io.BytesIO(fs)
face1 = misc.imread(likefile)
python2有StringIO的