opencv - 读取图像并保存,增加图像大小

标签 opencv image-processing scipy imread

我已经使用 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/

相关文章:

opencv - 如何在 ubuntu 10.4 中开始使用 OpenCV 2.4.2?

c# - 车牌识别字符识别

c++ - OpenCV中矩阵中的元素总和?

Python:使用scikit-learn进行预测,给出空白预测

python - PyAudio,录音时如何分辨频率和幅度?

python - Numpy:Row Wise Unique 元素

xcode - 转换为 OpenCV cv::Mat, NSImage

opencv - 使用的最佳做法是什么? IplImage、CvMat 还是垫?

windows - 跨平台的 OpenCV 视频

php - imagejpeg() 在 php 中无法正确给出输出