cv2.imencode函数介绍

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】图片读写和图像展示详解

你可能感兴趣的:(opencv,opencv)