cv2.imencode() 的作用是什么?我如何使用 PIL 实现相同的目的?

Cat*_*der 2 python opencv python-imaging-library

我正在尝试制作一个 REST API,我遇到了这行代码-

_, img_encoded = cv2.imencode('.jpg', image)
Run Code Online (Sandbox Code Playgroud)

这是做什么的?不幸的是,我无法在 m 项目中使用 OpenCV,那么有什么方法可以使用 PIL 实现同样的效果呢?提前致谢!

Mar*_*ell 5

它将 JPEG 压缩图像写入内存缓冲区 (RAM),而不是磁盘。

使用 PIL:

#!/usr/bin/env python3

from PIL import Image
from io import BytesIO

# Create dummy red PIL Image
im = Image.new('RGB', (320,240), 'red')

# Create in-memory JPEG
buffer = BytesIO()
im.save(buffer, format="JPEG")

# Check first few bytes
JPEG = buffer.getvalue()
print(JPEG[:25])
Run Code Online (Sandbox Code Playgroud)