【秣厉科技】LabVIEW工具包——OpenCV 教程(2):图片读写与编解码


前言

  1. 需要下载安装OpenCV工具包的朋友,请前往 此处
  2. 系统要求:Windows系统,LabVIEW>=2018,兼容32位和64位。

图片文件读写

对于读写图片文件,需要用到的VI,在函数选板>>Addons>>Molitec>>OpenCV>>imgcodes,位置如下图。

在这里插入图片描述

1. 读写单张图片

读取单张图片,可以使用 imread.vi 实现。支持多种图片格式,包括JPG、PNG、BMP等等。写入图片则使用 imwrite.vi 实现,同样支持多种图片格式。

下图展示的是:读取一张JPG格式图片,在LabVIEW控件里显示,最后再保存成PNG格式的图片。

在这里插入图片描述

如果你不确定某种格式的图片是否支持读写,可以使用选板最末的 haveImageReader 和 haveImageWriter 对图片文件先行测验。

2. 读写图片集

对于图片集文件,比如TIFF格式,可以使用 imreadmulti 和 imwritemulti 进行读写。使用 imcount 还可以获取文件中包含的图片数量。

下图展示的是:读取TIFF文件中从0开始的所有图片,在LabVIEW中显示(图片数组),然后颠倒顺序,写入到新的TIFF文件中。

在这里插入图片描述


图片编解码

有时候,我们并不需要把图像保存成文件,而是直接编码成相应格式的二进制流,以方便后续操作。尤其在网络通讯应用情景下,这样做可以提高传输效率,并且避免反复硬盘读写的麻烦。

图片编解码的实现,需要使用 imencode 和 imdecode 函数。图片集解码,需要使用 imdecodemulti 来实现。

下图展示的是:将某个存储图片的Mat对象,按照JPG格式编码成bytes,然后再从bytes解码,重新变回Mat图像。(注意 imencode 的格式参数必须加“点”)

在这里插入图片描述

类似的,如果bytes包含多张图片,可以用 imdecodemulti 实现多图解码,如下图。(目前没有“多图编码”模式)

在这里插入图片描述


总结

  1. 本系列博文作为LabVIEW工具包—OpenCV的教程,将以专栏的形式陆续发布和更新。
  2. 对工具包感兴趣的朋友,欢迎下载试用:秣厉科技 - LabVIEW工具包 - OpenCV
  3. 各位看官有什么想法、建议、吐槽、批评,或新奇的需求,也欢迎留言讨论。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

秣厉科技

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

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

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

打赏作者

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

抵扣说明:

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

余额充值