石鑫华视觉论坛

 找回密码
 注册会员
查看: 3791|回复: 0

[原创] LabVIEW VISION图像添加含透明通道PNG水印并且水印透明度可调实现方法

[复制链接]
  • TA的每日心情
    擦汗
    15 小时前
  • 签到天数: 3382 天

    连续签到: 4 天

    [LV.Master]2000FPS

    发表于 2020-8-15 17:18:55 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

    注册登陆后可查看附件和大图,以及购买相关内容

    您需要 登录 才可以下载或查看,没有账号?注册会员

    x
    在下面的帖子中,我们实现了不包含透明通道的图像添加水印的方法:

    LabVIEW VISION图像添加水印并且透明度可调实现方法
    http://visionbbs.com/thread-21485-1-1.html

    但是这个帖子有一个未实现的功能,就是如果水印是带有透明通道的PNG图像时,则无法实现。输出的水印透明位置将显示为黑色,这样将会给透明水印显示造成非常大的改变,特别是一些黑色的水印,透明部分有效时,只会显示黑色的水印。在这里经过一段时间的研究,将此问题彻底解决:
    本帖实现了透明PNG水印的添加。本实现方法因为使用了NI VISION进行一些处理,而VISION时的函数,不支持透明通道A的读取保存,所以这里背景图像,不支持带透明通道的PNG图像。当然,如果非要使用透明通道的PNG图像,也可以使用本贴中的某些实现功能对此类PNG图像进行一定的处理,如将透明转换为白色之类的。在这里,就不做处理了。

    下面来看一些效果:
    QQ截图20200815165631.jpg

    QQ截图20200815165551.jpg

    QQ截图20200815165715.jpg

    QQ截图20200815165729.jpg

    QQ截图20200815165824.jpg

    QQ截图20200815165804.jpg

    QQ截图20200815165850.jpg

    QQ截图20200815165907.jpg

    QQ截图20200815170015.jpg

    QQ截图20200815170608.jpg

    从上面的效果图中看到,背景图像可以为JPG、PNG、BMP等类型。水印图像也可以为JPG、PNG、BMP类型,水印的PNG类型,可以是包含透明通道的,也可以是不包含透明通道的。如包含透明通道,使用T透明色来显示,那么在Image显示控件中,则会表现为黑色(如上图所示)。而如果使用其它颜色来替换,则使用指定颜色来替换透明色。

    QQ截图20200815171411.jpg
    而如果使用含透明通道的背景图,则会如上图所示,部分内容会显示不正常。因为背景没有做透明的处理。

    附件中,还包含了一些研究中NG的代码,仅供参考,如里面还有一些因为水印分辨率过低,而做了一些增强(抗锯齿)等。

    原始文档使用LabVIEW2020 32位中文版+NI VISION 2020实现。另存为的早期版本2017/2015/2013/2011未经验证,也许有兼容性问题,且另存为的水印的深浅系数有异常,未做调整,只有2020版的有调整该系数。
    20200815 背景添加水印-含透明水印.rar (1.84 MB, 下载次数: 26, 售价: 30 元)
    本示例仅展示了叠加效果,使用的是Overlay Bitmap功能,因此如果保存叠加后的图像,水印是作为覆盖信息保存的,而不直接显示。如果要保存带水印的图像,需要merge overlay合并覆盖之后再保存。

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(第二版)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-11-20 23:20

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表