cv2.imencode函数介绍

本文详细解释了OpenCV的cv2.imencode函数,用于将图像数据编码为指定格式(如JPEG或PNG),并通过quality或compress_level参数调整保存质量和压缩。它返回一个二进制表示,与cv2.imwrite类似但提供更多控制。
摘要由CSDN通过智能技术生成

cv2.imencode函数

作用:将图像数据编码为指定格式的图像文件并返回一个二进制表示
它的语法如下:

retval, img_buffer = cv2.imencode(ext, img[, params])

参数值说明

ext:表示图像格式,值为’.jpg’、‘.jpeg’、‘.png’、'.bmp’等
img :表示要保存的图像数据
params:表示保存图片的参数,可选参数,默认情况下在JPEG格式中quality = 95,在PNG格式中compress_level = 3
其他参数没用到,先不介绍

通常可以设置第三个参数params,用来控制图像的保存质量。
常用的参数:
JPEG格式:可设置quality参数,范围为0 ~ 100,默认为95;
PNG格式:可设置compress_level参数,范围为0 ~ 9,默认为3。
对于JPEG,其表示的是图像的质量,用0 - 100的整数表示,默认95;对于png ,第三个参数表示的是压缩级别。默认为3.

返回值说明

返回:(retval, img_encode)
保存成功时返回长度为2的tuple,第一个元素与cv2.imwrite(…)函数返回值相同,第二个元素为数据类型为numpy.ndarray类型的图像文件内容

retval是返回值。如果保存成功,则返回逻辑值真(True);如果保存不成功,则返回逻辑值假(False)。

示例:

encode_param = [int(cv2.IMWRITE_JPEG_QUALITY), 90]
result, img_encode = cv2.imencode('.jpg', img, encode_param)

cv2.imwrite

参看cv2.imwrite参数介绍:Python-OpenCV:cv2.imread(),cv2.imshow(),cv2.imwrite()
使用函数cv2.imwrite(file,img,num)保存一个图像。第一个参数是要保存的文件名,第二个参数是要保存的图像。可选的第三个参数,它针对特定的格式:对于JPEG,其表示的是图像的质量,用0 - 100的整数表示,默认95;对于png ,第三个参数表示的是压缩级别。默认为3.
cv2.IMWRITE_JPEG_QUALITY类型为 long ,必须转换成 int
cv2.IMWRITE_PNG_COMPRESSION, 从0到9 压缩级别越高图像越小。
cv2.imwrite(‘1.png’,img, [int( cv2.IMWRITE_JPEG_QUALITY), 95])
cv2.imwrite(‘1.png’,img, [int(cv2.IMWRITE_PNG_COMPRESSION), 9])

openCV一些有用的介绍可以看下面

【OpenCV-python】图片读写和图像展示详解

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

饿了就干饭

你的鼓励将是我创作的最大动力~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值