我已经使用 CV2.imread 加载了一个图像,并使用 cv2.imwrite() 和 scipy.misc.imsave() 保存了它。在这两种情况下,输出图像大小都会增加。为什么是这样?
输入和输出图像均为 .jpg 文件类型
img = cv2.imread(img_src)
scipy.misc.imsave(img, "scipy_original.jpg")
cv2.imwrite("cv2_original.jpg", img)
输入文件大小为 309kb
cv2 中的输出文件大小为 690kb
scipy 中的输出文件大小为 399kb
如果您想引用,这是图像:https://i.imgur.com/0J8ClQn.jpg
最佳答案
OpenCV 对 jpg 有不同的压缩级别,从 0 到 100。默认为 95。
This问题讨论它,this网站有例子。
使用如下参数保存:cv2.imwrite("cv2_original.jpg", img, [int(cv2.IMWRITE_JPEG_QUALITY), jpg_quality])
在哪里 jpg_quality < 95
将减小文件大小。
关于opencv - 读取图像并保存,增加图像大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58096474/