python 内存中的 OpenCV jpeg 压缩
python OpenCV jpeg compression in memory
在 OpenCV 中,可以使用特定的 jpeg 压缩将图像保存到磁盘。还有一种方法可以在内存中执行此操作吗?或者我应该使用 cv2.imsave()
编写一个函数来加载文件并再次从磁盘中删除它?如果有人知道更好的方法也可以。
用例是实时数据扩充。使用 OpenCV 以外的东西可能会导致不必要的开销。
所需函数示例 im = cv2.imjpgcompress(90)
您可以使用 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
的片段
在 OpenCV 中,可以使用特定的 jpeg 压缩将图像保存到磁盘。还有一种方法可以在内存中执行此操作吗?或者我应该使用 cv2.imsave()
编写一个函数来加载文件并再次从磁盘中删除它?如果有人知道更好的方法也可以。
用例是实时数据扩充。使用 OpenCV 以外的东西可能会导致不必要的开销。
所需函数示例 im = cv2.imjpgcompress(90)
您可以使用 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
的片段