数字图像中添加水印

实际上,在产品里能够设置密码并且在产品中添加水印是最理想的防盗措施,因为设置密码是为了防止别人剽窃技术或使用产品,而添加水印更多的是一种补救措施,是在他人成功盗取自己技术的前提下,在法律上夺取主动权的砝码。下面来介绍一下如何在MATLAB中实现往数字图像中添加水印效果,具体如下:

1、在MATLAB主界面的编辑器中写入下列代码:

%此程序实现数字图像的水印嵌入
function dwtgl
clc;clear all;close all;
disp('计算机正在准备输出数字水印图像,请耐心等待……');
input=imread('H:\2018秋资料\mok\a7.jpg');%从H盘里读出原始图像
input_add=input;
water=imread('H:\2018秋资料\mok\a6.jpg');%读出水印图像
water_add=water;
%将原始图像和水印的RGB三色分离
input=double(input);water=double(water);inputr=input(:,:,1);waterr=water(:,:,1);
inputg=input(:,:,2);waterg=water(:,:,2);inputb=input(:,:,3);waterb=water(:,:,3);
%系数r大,增加鲁棒性,不易随几何变形和物理变形失去水印,但是水印的透明性较差
r=0.06;
[Cwr,Swr]=wavedec2(waterr,1,'haar');%水印R分解
[Cr,Sr]=wavedec2(inputr,2,'haar');%图像R分解
%水印的嵌入
Cr(1:size(Cwr,2)/16)=Cr(1:size(Cwr,2)/16)+r*Cwr(1:size(Cwr,2)/16);
k=0;
while k<=size(Cr,2)/size(Cwr,2)-1Cr(1+size(Cr,2)/4+k*size(Cwr,2)/4:size(Cr,2)/4+...(k+1)*size(Cwr,2)/4)=Cr(1+size(Cr,2)/4+...k*size(Cwr,2)/4:size(Cr,2)/4+(k+1)*size(Cwr,2)/4)+...r*Cwr(1+size(Cwr,2)/4:size(Cwr,2)/2); Cr(1+size(Cr,2)/2+k*size(Cwr,2)/4:size(Cr,2)/2+...(k+1)*size(Cwr,2)/4)=Cr(1+size(Cr,2)/2+...k*size(Cwr,2)/4:size(Cr,2)/2+(k+1)*size(Cwr,2)/4)+...r*Cwr(1+size(Cwr,2)/2:3*size(Cwr,2)/4); Cr(1+3*size(Cr,2)/4+k*size(Cwr,2)/4:3*size(Cr,2)/4+...(k+1)*size(Cwr,2)/4)=Cr(1+3*size(Cr,2)/4+...k*size(Cwr,2)/4:3*size(Cr,2)/4+(k+1)*size(Cwr,2)/4)+...r*Cwr(1+3*size(Cwr,2)/4:size(Cwr,2)); k=k+1;
end;
Cr(1:size(Cwr,2)/4)=Cr(1:size(Cwr,2)/4)+r*Cwr(1:size(Cwr,2)/4);
g=0.03;
[Cwg,Swg]=wavedec2(waterg,1,'haar');%水印G分解
[Cg,Sg]=wavedec2(inputg,2,'haar');%图像G分解
%水印的嵌入
Cg(1:size(Cwg,2)/16)= Cg(1:size(Cwg,2)/16)+r*Cwg(1:size(Cwg,2)/16);
k=0;
while k<=size(Cg,2)/size(Cwg,2)-1Cg(1+size(Cg,2)/4+k*size(Cwg,2)/4:size(Cg,2)/4+...(k+1)*size(Cwg,2)/4)=Cg(1+size(Cg,2)/4+...k*size(Cwg,2)/4:size(Cg,2)/4+(k+1)*size(Cwg,2)/4)+...r*Cwg(1+size(Cwg,2)/4:size(Cwg,2)/2); Cg(1+size(Cg,2)/2+k*size(Cwg,2)/4:size(Cg,2)/2+...(k+1)*size(Cwg,2)/4)=Cg(1+size(Cg,2)/2+...k*size(Cwg,2)/4:size(Cg,2)/2+(k+1)*size(Cwg,2)/4)+...r*Cwg(1+size(Cwg,2)/2:3*size(Cwg,2)/4); Cg(1+3*size(Cg,2)/4+k*size(Cwg,2)/4:3*size(Cg,2)/4+...(k+1)*size(Cwg,2)/4)=Cg(1+3*size(Cg,2)/4+...k*size(Cwg,2)/4:3*size(Cg,2)/4+(k+1)*size(Cwg,2)/4)+...r*Cwg(1+3*size(Cwg,2)/4:size(Cwg,2)); k=k+1;
end;
Cg(1:size(Cwg,2)/4)=Cg(1:size(Cwg,2)/4)+g*Cwg(1:size(Cwg,2)/4);
b=0.12;
[Cwb,Swb]=wavedec2(waterb,1,'haar');%水印B分解
[Cb,Sb]=wavedec2(inputb,2,'haar');%图像B分解
%水印的嵌入
Cb(1:size(Cwb,2)/16)=Cb(1:size(Cwb,2)/16)+r*Cwb(1:size(Cwb,2)/16);
k=0;
while k<=size(Cb,2)/size(Cwb,2)-1Cb(1+size(Cb,2)/4+k*size(Cwb,2)/4:size(Cb,2)/4+...(k+1)*size(Cwb,2)/4)=Cb(1+size(Cb,2)/4+...k*size(Cwb,2)/4:size(Cb,2)/4+(k+1)*size(Cwb,2)/4)+...r*Cwb(1+size(Cwb,2)/4:size(Cwb,2)/2); Cb(1+size(Cb,2)/2+k*size(Cwb,2)/4:size(Cb,2)/2+...(k+1)*size(Cwb,2)/4)=Cb(1+size(Cb,2)/2+...k*size(Cwb,2)/4:size(Cb,2)/2+(k+1)*size(Cwb,2)/4)+...r*Cwb(1+size(Cwb,2)/2:3*size(Cwb,2)/4); Cb(1+3*size(Cb,2)/4+k*size(Cwb,2)/4:3*size(Cb,2)/4+...(k+1)*size(Cwb,2)/4)=Cb(1+3*size(Cb,2)/4+...k*size(Cwb,2)/4:3*size(Cb,2)/4+(k+1)*size(Cwb,2)/4)+...r*Cwb(1+3*size(Cwb,2)/4:size(Cwb,2)); k=k+1;
end;
Cb(1:size(Cwb,2)/4)=Cb(1:size(Cwb,2)/4)+b*Cwb(1:size(Cwb,2)/4);
%用哈尔小波重构图像,亦可用mexh等小波重构
inputr=waverec2(Cr,Sr,'haar');
inputg=waverec2(Cg,Sg,'haar');
inputb=waverec2(Cb,Sb,'haar');
%三色的叠加
temp=size(inputr);
pic=zeros(temp(1),temp(2),3);
for i=1:temp(1);for j=1:temp(2);pic(i,j,1)=inputr(i,j);pic(i,j,2)=inputg(i,j);pic(i,j,3)=inputb(i,j);end
end
output=uint8(round(pic));
watermarked_image_uint8=uint8(output);%转化为uint8
imwrite(watermarked_image_uint8,'watermarked.jpg','jpg');
%画出水印图像
figure(1),imshow(input_add);
t1=title('原始图像');
set(t1,'fontsize',15,'color',[0 0 0],'fontname','隶书');
figure(2),imshow(water_add);
t2=title('水印图像');
set(t2,'fontsize',15,'color',[0 0 0],'fontname','隶书');
figure(3),imshow(watermarked_image_uint8)
;t3=title('嵌入水印后的图像');
set(t3,'fontsize',15,'color',[0 0 0],'fontname','隶书');

2、命名保存至自定义路径下,点击运行,结果如下:

 

如图所示,分别输出了原始图像,水印图以及嵌入水印后的图,可以明显看到嵌入水印后还是存在区别的,同时我们也可以设置标题的格式等,基本介绍完毕,请大家继续关注!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/24167.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

信息隐藏与数字水印技术

1 信息隐藏 1. 1 信息隐藏模型信息隐藏 (Information Hiding)不同于传统的密码学技术。密码技术主要是研究如何将机密信息进行特殊的编码&#xff0c;以形成不可识别的密码形式 (密文 )进行传递&#xff1b;而信息隐藏则主要研究如何将某一机密信息秘密隐藏于另一公开的信息…

给图片加盲水印(数字水印)所有功能免费使用

盲水印是不可见&#xff0c;但实际存在图片中的水印。需通过特殊的技术手段才能获取到水印。 . 一次可以给十张图片加图片水印或文字水印&#xff0c;不限使用次数 . 只能给单张图片解水印且需要原水印图片或水印文字 . 水印密码必须为数字&#xff0c;可设可不设。如设置了…

“数字水印”来临,一波“反ChatGPT”的技术开始冒头 | 星球资讯

数科星球 原创 作者丨数数 编辑丨十里香 ChatGPT爆火&#xff0c;对于这项技术来说&#xff0c;似乎无所不能。从作曲、小说、文章再到编剧&#xff0c;人们这些天为该项技术忙活的不亦乐乎。 但事情很快得到了反转&#xff0c;有些人开始担心这项新的技术会被坏人所利用。而…

微软半日游,和CSDN同学们走进名企

上周三&#xff08;2021-11-24&#xff09;&#xff0c;跟随 CSDN 《新程序员》组织的 "走进名企"活动&#xff0c;和邹欣老师等一众大佬们探访了北京微软亚洲研究院。真是一次令我开眼界的旅程&#xff0c;一起看看~ 作为一个普普通通的北漂程序员来说&#xff0c;大…

Seata 与三大平台携手编程之夏,百万奖金等你来拿

作者&#xff1a;Seata社区 社区简介 Seata 是一款开源的分布式事务解决方案&#xff0c;致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在 Seata 开源之前&#xff0c;Seata 在阿里系内部一直扮演着分布式数据一致性中间件的角色&#xff0c;几乎每笔交易都要…

阿里技术官整合的四大主流中间件笔记,让你高薪摸鱼,不再秃头背锅

RabbitMQ&#xff1a; 优点&#xff1a;轻量&#xff0c;迅捷&#xff0c;容易部署和使用&#xff0c;拥有灵活的路由配置 缺点&#xff1a;性能和吞吐量较差&#xff0c;不易进行二次开发 RocketMQ&#xff1a; 优点&#xff1a;性能好&#xff0c;稳定可靠&#xff0c;有活…

一位微软技术大牛,工作8年的职业经验分享

写在前面 进击的叻叻是小灰的一位朋友&#xff0c;本文整理了他今年9月返校进行校友职场经验分享的内容&#xff0c;从职业选择、职业发展、工作体验和职业认知四个方面&#xff0c;分享自己微软八年职业生涯的经历和感悟。 这篇文章是对当时校友职场经验分享会内容的精炼和补充…

尚硅谷商品汇项目复习文档

项目资料 项目源码&#xff1a;https://gitee.com/HusePanghu/project-SP 项目地址&#xff1a;HusePanghu.SPH 前言 提示&#xff1a;本文档的编撰初衷是用于复习和回顾该项目&#xff0c;而非该项目的教程文档&#xff0c;弊处多多&#xff0c;敬请包涵。欢迎大家在评论区交…

千橡CEO陈一舟5日聊微软入股Facebook和校内网

千橡CEO陈一舟5日聊微软入股Facebook和校内网 http://www.sina.com.cn 2007年11月01日 17:50 新浪科技 千橡集团董事长兼CEO陈一舟(新浪科技配图) 新浪科技讯 11月1日消息&#xff0c;千橡集团董事长兼CEO陈一舟将于11月5日10:30做客新浪科技白银时代&#xff0c;届时他将就微…

今天面了个阿里秒杀项目组的,见识到了基础天花板被震撼到了

在京东工作了8年&#xff0c;工作压力大&#xff0c;节奏快&#xff0c;但是从技术上确实得到了成长&#xff0c;尤其是当你维护与大促相关的系统的时候&#xff0c;熬到P7也费了不少心思&#xff0c;小编也是个爱学习的人&#xff0c;把这几年的工作经验整理成了一份完整的笔记…

互联网暴力裁员,唯有神技面试八股文手册,能助各位码农突破囧境

很多人都说今年对于IT行业根本没有所谓的“金三银四”“金九银十”。在各大招聘网站或者软件上不管是大厂还是中小公司大多都是挂个招聘需求&#xff0c;实际并不招人&#xff1b;在行业内的程序员基本都已经感受到了任老前段时间口中所谓的“寒气”。 虽然事实确实是如此&…

27位技术实战派负责人齐聚 深聊降本增效 你一定不想错过!

倒计时6天&#xff0c;11月4日 杭州云栖大会-探索增长动能峰会即将启动 阿里巴巴集团CTO线&#xff06;阿里云智能互联网行业线& ​阿里云智能基础产品事业部联合出品 27位技术实战派负责人齐聚 共同深入讨论企业降本增效的话题 欢迎一起来 看点 1&#xff1a;27位实战…

商汤科技推出“日日新SenseNova”,大模型体系赋能人工智能新未来

2023年4月10日&#xff0c;商汤科技SenseTime技术交流日活动在上海举行&#xff0c;分享了以“大模型大算力”推进AGI&#xff08;通用人工智能&#xff09;发展的战略布局&#xff0c;并公布了商汤在该战略下的“日日新SenseNova”大模型体系。 公开信息显示&#xff0c;商汤科…

AI抢饭碗成真!近500家美国企业用ChatGPT取代员工,有公司省下超10万美元

Alex 发自 凹非寺量子位 | 公众号 QbitAI 自从ChatGPT掀起浪潮&#xff0c;不少人都在担心AI快要抢人类饭碗了。 然鹅&#xff0c;现实可能更残酷QAQ...... 据就业服务平台Resume Builder调查统计&#xff0c;在1000多家受访美国企业中&#xff0c;用ChatGPT取代部分员工的&…

阿里CEO下令所有产品接入大模型!钉钉对标微软Office,已解锁近10项新功能

丰色 发自 凹非寺量子位 | 公众号 QbitAI “阿里版GPT”通义千问邀测没过几天—— 今天&#xff0c;在2023阿里云峰会现场&#xff0c;CEO张勇就宣布&#xff1a; 阿里巴巴所有产品未来都将接入“通义千问”大模型&#xff0c;进行全面改造。 与此同时&#xff0c;通义千问的能…

GPT-3核心成员出走打造ChatGPT最强竞品!12项任务8项更强,最新估值50亿美元

衡宇 萧箫 发自 凹非寺量子位 | 公众号 QbitAI 因不满老东家成为微软附庸&#xff0c;11名OpenAI前员工怒而出走。 如今带着“ChatGPT最强竞品”杀回战场&#xff0c;新公司估值50亿美元&#xff0c;一出手就获得3亿美元融资。 这家公司名叫Anthropic&#xff0c;新推出的聊天机…

一页PPT自动生成短视频的研究

希望通过一些技术&#xff0c;将以前自己讲过的PPT转换成有解说的短视频&#xff0c;从而进行一些分发 旁白到语音 从文字转换成语音我们首先想到的就是TTS&#xff0c;这其中我也是用了各式各样的TTS&#xff0c;发现发音电子音非常强&#xff0c;听听起来很不舒服。后来发现…

Edge浏览器安装油猴插件以及好用的插件推荐

目录 一、介绍 二、下载步骤 一、介绍 油猴插件是非常好用的&#xff0c;可以帮助我们解放双手眼睛这些。帮助学习&#xff0c;通过这些 二、下载步骤 1.打开edge浏览器&#xff0c;右上角点击三小点&#xff0c;选择扩展 2.点击这个 3.点击下载油猴插件 下载失败的看&a…

如虎添翼!6款备受欢迎的Edge浏览器插件

Microsoft Edge以其低资源消耗、强大的安全性和丰富的创新功能&#xff0c;使其备受欢迎。Edge浏览器正在逐渐替代Chrome成为很多用户的首选浏览器。 而作为桌面浏览器必不可少的一部分&#xff0c;扩展程序是很多用户选择一款浏览器重要的衡量标准。 扩展程序可以增强你的浏…

最强Microsoft Edge插件安装

一、Global Speed: 视频速度控制 Global Speed与几乎所有视频和音频流媒体站点兼容&#xff0c;包括Youtube&#xff0c;Netflix&#xff0c;哔哩哔哩&#xff0c;腾讯视频&#xff0c;百度网盘&#xff0c; 爱奇艺等。 当我们打开某个视频网站时&#xff0c;点击Global Spee…