学习OpenCV 4:基于Python的算法实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

2.3.1 案例9:图像编码应用

在OpenCV中,用于图像编码的函数是imencode。imencode函数的C++语言函数定义如下:

imencode函数的Python语言函数定义如下:

imencode函数的参数说明如下。

● ext:文件扩展名,以决定输出格式。

● img:待编码图像数据。

● params:格式化编码为成对的特定参数,该参数可选,由cv:ImwriteFlags定义。

● buf:输出的数据流(返回值)。

● retval:编码是否成功的标志,类型为bool,编码成功返回true,编码失败返回false(返回值)。

本案例将读取的图像进行编码,然后保存到txt文件中,如果读者在网络中传输图像,则可以直接将编码后的数据流用于网络数据传输。本案例的代码实现如下:

在调试状态下,可以看到各变量的数值,如图2.6所示,编码后的二进制数据流保存在变量bytes_encode中。

img

图2.6

执行完成后,会在路径下生成imencode.txt文件,其中保存着编码后的图像数据。