python OpenCV在内存中的jpeg压缩

时间:2016-11-23 15:42:37

标签: python opencv jpeg

在OpenCV中,可以使用特定的jpeg压缩将图像保存到磁盘。还有办法在记忆中做到这一点吗?或者我应该使用cv2.imsave()编写一个函数来加载文件并从磁盘中再次删除它?如果有人知道更好的方式也没关系。

用例是实时数据增强。使用除OpenCV之外的其他内容可能会导致不必要的开销。

所需功能的示例im = cv2.imjpgcompress(90)

1 个答案:

答案 0 :(得分:26)

您可以使用imencode

encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), 90]
result, encimg = cv2.imencode('.jpg', img, encode_param)

IMWRITE_JPEG_QUALITY的默认值为95.)

您可以使用以下方法对其进行解码:

decimg = cv2.imdecode(encimg, 1)
来自here

代码段