如何从内存中解码jpg图像?

mrg*_*oom 6 python binary jpeg opencv numpy

我可以通过PIL,Python OpenCV等从磁盘读取jpg图像,通过一些内置函数(例如OpenCV)将其转换为numpy数组arr= cv2.imread(filename).

但是如何直接从内存中解码二进制格式的jpg?

使用案例:我想将一个jpg图像以二进制格式放入数据库,然后将其从db读入内存并将其解码为numpy数组.

这可能吗?

Zda*_*daR 8

假设您将图像数据存储在数据库中string,首先需要numpy从该字符串构造一个数组,以后可以使用该数组转换为图像cv2.imdecode.例如:

img = cv2.imdecode(np.fromstring(img_data, dtype=np.uint8), -1)
Run Code Online (Sandbox Code Playgroud)