%将水印图像按最低位有效(LSB)方法嵌入到载体图像中,并把水印从载体图像中提取出来

%注:整个算法分为水印嵌入部分和水印提取部分,及hcf com down_sampled水印分析

% 程序代写&算法设计,联系qq:380238062,转载时请保留

clc %清屏

clear %清空变量

close all %关闭已打开图像

% 读入载体图像 并显示

cover_object=imread('orign.jpg');

if ndims(cover_object)==3 %如果是rbg图像,则转化为灰度图像

cover_object=rgb2gray(cover_object);

end

figure;imshow(cover_object); %显示

title('载体图像');

% 读入水印图像 并显示

message=imread('shuiyin.jpg');

if ndims(message)==3 %如果是rbg图像,则转化为灰度图像

message=rgb2gray(message);

end

[Mm,Nm]=size(message);

message=double(message);

message=round(message./256); %转化为bit信息流,以便隐写

message=uint8(message);

figure;imshow(256*message); %显示

title('待隐藏信息');

%调用yinxie函数实现信息隐写

watermarked_image=yinxie(cover_object,message);

figure;imshow(watermarked_image,[])

title('已嵌入隐写信息的图像') %显示

% 程序代写&算法设计,联系qq:380238062,转载时请保留

%调用tiqu函数实现信息提取

watermark=tiqu(watermarked_image,Mm,Nm);

figure;imshow(watermark,[])%显示提取图像

title('提取后信息')

function watermarked_image=yinxie(cover_object,message);

% 获取载体图像的大小

[Mc,Nc]=size(cover_object);

% 获取水印图像的大小

[Mm,Nm]=size(message);

length_message=Mm*Nm;%信息长度

message(Mc,Nc)=0;

watermarked_image=cover_object;

%每一比特秘密信息都用载体图像的一个像素负载,如果秘密比特与像素灰度

%值的最低位相同,则不作修改;否则,若原始灰度值为奇数,则减1,若为

%偶数,则加1

% 程序代写&算法设计,联系qq:380238062,转载时请保留

% mod(cover_object(ii,jj),2) 获取图像cover_object处像素值的最低位

for ii = 1:Mc

for jj =

1:Nc

if mod(cover_object(ii,jj),2)==message(ii,jj)%判断是否相等

continue; %若相等,不作修改

else %否则

if mod(cover_object(ii,jj),2)==0 %若为偶,则加1

watermarked_image(ii,jj)=cover_object(ii,jj)+1;

else %若为奇,则减1

watermarked_image(ii,jj)=cover_object(ii,jj)-1;

end

end

end

end

matlab信息隐藏算法,[转载]基于LSB信息隐藏算法的MATLAB实现相关推荐

  1. MATLAB基于LSB的数字水印算法

    摘要-LSB是一种简单传统的信息隐藏算法,属于数字水印技术中的一种.本文首先介绍了LSB技术的原理和特点,然后讨论了基于LSB的数字水印算法.最后利用MATLAB 2010 b2对这一算法的加密过程进 ...

  2. 【建模算法】基于遗传算法求解TSP问题(matlab求解)

    [建模算法]基于遗传算法求解TSP问题(matlab求解) TSP (traveling salesman problem,旅行商问题)是典型的NP完全问题,即其最坏情况下的时间复杂度随着问题规模的增 ...

  3. (四)协同过滤算法之基于用户的推荐算法python实现

    一.背景 关于推荐算法的相关背景介绍,已经在上一个姊妹篇(三)协同过滤算法之基于物品的推荐算法python实现中有所介绍.在此,便不在赘述,本文主要介绍基于用户的协同过滤算法,而对推荐算法不太清楚的朋 ...

  4. 推荐算法概述(基于用户的协同过滤算法、基于物品的协同过滤算法、基于内容的推荐算法)

    "无意中发现了一个巨牛的人工智能教程,忍不住分享一下给大家.教程不仅是零基础,通俗易懂,而且非常风趣幽默,像看小说一样!觉得太牛了,所以分享给大家.点这里可以跳转到教程." 目前推 ...

  5. matlab 声源定位csdn_[转]基于TDOA声源定位算法仿真--MATLAB仿真

    声源定位算法是利用麦克风阵列进行声音定位,属于宽带信号,传统的MUSIC和DOA算法并不适用该场景,本仿真主要用TDOA算法进行定位. 常用的阵列信号定位算法主要有三大类:基于高分辨率谱估计的定位技术 ...

  6. pm模型matlab算法,18基于遗传算法(粒子群算法、人工鱼群算法等)的投影寻踪模型MATLAB源代码...

    基于遗传算法(粒子群算法.人工鱼群算法等)的投影寻踪模型 MATLAB源代码 投影寻踪是一种处理多因素复杂问题的统计方法,其基本思路是将高维数据向低维空间进行投影,通过低维投影数据的散布结构来研究高维 ...

  7. 【智能优化算法】基于矮猫鼬优化算法求解单目标优化问题附matlab代码

    1 简介 基于矮猫鼬优化算法求解单目标优化问题​ 2 部分代码 %___________________________________________________________________ ...

  8. 【非洲秃鹫优化算法】基于非洲秃鹫优化算法求解单目标优化问题(AVOA)含Matlab源码

    1 简介 元启发式算法在解决优化问题中起着至关重要的作用.大多数此类算法的灵感来自集体智慧和自然界生物的觅食.在本文中,受非洲秃鹰生活方式的启发,提出了一种新的元启发式算法.该算法被命名为非洲秃鹰优化 ...

  9. 【非洲秃鹫优化算法】基于非洲秃鹫优化算法求解多目标优化问题MOAVOA含Matlab源码

    ✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.

最新文章

  1. Git学习教程(六)Git日志
  2. vCenter6.0配置二:配置HA群集
  3. Qt高级——QTestLib单元测试框架
  4. React版本更新及升级须知(持续更新)
  5. sqlplus 修改system密码_华为交换机console密码忘了如何解决 华为交换机console密码忘了解决方法【介绍】...
  6. oracle统计每日归档大小,Oracle查询最近几天每小时归档日志产生数量的脚本写法...
  7. row number函数_Hive排名函数ROW_NUMBER,RANK 和 DENSE_RANK的区别
  8. U盘的RUNAUTO..文件的删除
  9. Java-标识符和关键字
  10. 远程服务器,你不得不知道的命令行操作(一)
  11. DeadXSpace项目进度
  12. vue3 src/main.js文件配置
  13. oracle catalog命令,catalog 命令
  14. 基于角色的用户权限设计的问题,大家探讨下
  15. 用户控件中复杂属性的设计时支持
  16. 发那科机器人圆弧指令怎么用_发那科机器人的指令如何编辑
  17. 原码一位乘法c语言程序,原码一位乘法与补码一位乘法
  18. CCFCSP 201803-2碰撞的小球
  19. Android 创建快捷方式图标
  20. 用python生成excel文件_python通过openpyxl生成Excel文件的方法

热门文章

  1. 我的世界服务器无限开号,我的世界1.7.X-1.12.X无限瞬间生存服务器
  2. 小米6android版本更新,小米6喜迎Android P的MIUI系统更新!小米向尝鲜的米粉致敬...
  3. unity打包后运行出错_一种Shader变体收集和打包编译优化的思路
  4. 基于JavaGUI的哈夫曼树编码解码
  5. 3D空间中的AABB(轴向平行包围盒, Aixe align bounding box)的求法
  6. Ubuntu16.04安装GTX2080Ti显卡驱动
  7. 2020届硕士生年初Android春招实习面试和正式校招面试经验汇总(收割腾讯,百度,美团,网易等offer)
  8. python生成exe工具流程【离线】
  9. python递归如何理解
  10. 每年都买前十的明星基金,长期是赚是赔?Python告诉你答案!