在 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 的片段
关于内存中的python OpenCV jpeg压缩,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40768621/