内存中的python OpenCV jpeg压缩
在OpenCV中,可以使用特定的jpeg压缩将图像保存到磁盘。在内存中也有这样做的方法吗?或者我应该使用内存中的python OpenCV jpeg压缩,python,opencv,jpeg,Python,Opencv,Jpeg,在OpenCV中,可以使用特定的jpeg压缩将图像保存到磁盘。在内存中也有这样做的方法吗?或者我应该使用cv2.imsave()编写一个函数来加载文件并再次从磁盘中删除它吗?如果有人知道更好的方法,也可以 用例是实时数据扩充。使用OpenCV以外的其他工具可能会导致不必要的开销 所需函数的示例im=cv2.imjpgcompress(90)您可以使用imencode: encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), 90] result, encim
cv2.imsave()
编写一个函数来加载文件并再次从磁盘中删除它吗?如果有人知道更好的方法,也可以
用例是实时数据扩充。使用OpenCV以外的其他工具可能会导致不必要的开销
所需函数的示例
im=cv2.imjpgcompress(90)
您可以使用imencode
:
encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), 90]
result, encimg = cv2.imencode('.jpg', img, encode_param)
(的默认值为95。)
您可以使用以下方法将其解码回来:
decimg = cv2.imdecode(encimg, 1)
encimg的形状与im的形状不同。为什么呢?前:340 1080 3后:58154 1导入cv2文件名='image.png'im=cv2.imread(文件名)encode_param=[int(cv2.IMWRITE_JPEG_QUALITY),80]result,im=cv2.imencode('.jpg',im encode_param)打印结果默认值是什么@西蒙尼更多的是思考如何改进answer@jtlz2这是合理的。添加到答案中;)