LSB

首先肯定要清楚什么是LSB图像隐写,这里我推荐一个文章
LSB图片隐写

顺序

其实我觉得代码上没什么好解释的,只是按照这个LSB的原理进行操作。
不过我为了能更好、更方便的得到隐写的信息,当要隐写的二进制信息是1时就对数值减一;当要隐写的二进制信息是0时就不做处理,这样得到的img(原图)-img_(隐写)就直接得到了隐写的msg,有点偷懒了。
上代码

img=imread("test.jpg");
img_=img;
msg='10101';
len=strlength(msg);
j=int8(len/256);
left=len%256;
for m=1:j+1if m~=j+1
for i=1:len
if msg(i) == '1'
img_(m,i,1)=img(m,i,1)-1;
endif msg(i) == '0'
endend
endif m==j+1
for i=1:left
if msg(i) == '1'
img_(m,i,1)=img(m,i,1)-1;
end
if msg(i) == '0'
end
end
end
end

随机

这也不难只不过多用了randi这个函数,我简单解释一下,randi(256,2,8)就是随机生成一个2*8的矩阵,然后每个元素的取值是随机的从1到256的整数。

img=imread("test.jpg")
img_r=img;
msg='10101010111';
len=strlength(msg);
if len%2 ==1
zero='0';
msg=[zero,msg];
len=len+1;
end;
mark = 1;
mat=randi(256,len/2,2);
for i=1:size(mat,1)
for j=1:size(mat,2)
if msg(mark) == '1'
img_r(i,j,1)=img_r(i,j,1)-1;
end;
if msg(mark) == '0'
end;
if mark <len
mark=mark+1;
end
end
end
result=img-img_r;
final='';
for i=1:size(mat,1)
for j=1:size(mat,2)
final=[final,num2str(result(i,j,1))]
end
end

初入matlab ,分享共勉 ,不好的地方欢迎指正。

LSB顺序+随机隐写和提取(matlab)相关推荐

  1. 【LSB】图片隐写文档大纲

    第一章 绪论 1.1研究背景 1.2研究意义 1.3主要工作 第二章 图片隐写和LSB算法 2.1关于图片隐写术 2.2LSB算法 第三章 系统设计与实现 3.1图像的加载 3.2文本的预编码 3.3 ...

  2. 【LSB】图片隐写主体函数

    关于图像隐写 图像隐写是一种有效的方式来交换隐藏的消息,而不会引起怀疑.它的工作原理是用lbs算法将消息编码为图像像素的颜色值. 这种功能基于浏览器的最新特性比如File API和Canvas,如果你 ...

  3. 【图像隐写】基于matlab LSB数字水印嵌入提取【含Matlab源码 2412期】

    ⛄一.DCT数字水印简介 1 前言 随着网络通信技术的发展,社会节奏的加快,网络通信技术的成熟,需求也开始发生改变,人们对便利的需求也越来越大,通过将媒体信息数字化,使得信息表达的精准和效率得到了明显 ...

  4. 【语音隐写】基于matlab GUI DCT音频数字水印嵌入提取【含Matlab源码 837期】

    一.离散小波变换的音频信号数字水印技术简介 0 引言 近年来, 数字水印技术的作用越来越重要.数字水印技术是将一些标识信息直接嵌入数字载体当中, 或间接表示在信号载体中, 且不影响原载体的使用价值.通 ...

  5. 【图像隐写】基于matlab DWT+FFT+DCT水印攻击+提取【含Matlab源码 2411期】

    ⛄一.DCT数字水印简介 1 前言 随着网络通信技术的发展,社会节奏的加快,网络通信技术的成熟,需求也开始发生改变,人们对便利的需求也越来越大,通过将媒体信息数字化,使得信息表达的精准和效率得到了明显 ...

  6. 【语音隐写】基于matlab小波变换量化音频数字水印【含Matlab源码 351期】

    ⛄一.小波变换量化音频数字水印简介 随着计算机和网络的飞速发展,人们的许多创作和成果都以数字形式进行存储和发布.然而,数字作品极易被非法拷贝.伪造和窜改,使得很多版权所有者不愿意利用网络公开其作品,从 ...

  7. 基于MatLab实现LSB(最低有效位)算法完成图片数字水印隐写功能

    文章目录 前言 一.图像处理基础 二.LSB数字隐写算法 三.LSB数字隐写算法实现 四.数字隐写和提取过程 总结 前言 已经好久没写博客了,最近是在有些忙,但是忙里偷闲写一篇新学的知识点,所以准备写 ...

  8. python图片隐写_基于python的LSB隐写与分析

    隐写 效果 隐写前 隐写后 灰度值直方图差别 部分源码 def dec_to_bin(dec): return '{:08b}'.format(dec) def bin_to_dec(binary_c ...

  9. 隐写术----LSB隐写

    0x00 前言 前文介绍过PNG的文件格式,以及如何在不影响正常浏览的前提下在PNG文件中隐写payload.这次介绍另一种隐写技巧--LSB隐写 其实LSB隐写术已经有很多大佬发了文章介绍,我只是一 ...

最新文章

  1. Exchange 2007 内存使用问题
  2. 电脑装机完没有efi_联想M910Q 黑苹果折腾系列③ Hackintosh opencore完善 EFI分享
  3. 信号的高级特性-核心转储文件
  4. linux树形目录结构存放,Linux目录结构
  5. Codeforces Round #642 (Div. 3)(AB)
  6. idea_取消自动import .*
  7. 九月腾讯,创新工场,淘宝等公司最新面试三十题(更新至10.04)
  8. 在Eclipse里搭建Go开发的环境
  9. Java成神之路——ASM,Javassist,cglib区别。
  10. 【2019.08.23】2019CCPC网络赛
  11. 如何用MEF实现Asp.Net MVC框架
  12. 数据切片与MapTask并行度
  13. 从例图中学习思维导图的基本概念
  14. SQL2005安装及连接
  15. opencms mysql_OpenCms for MySql 安装图解
  16. 银行业务模拟系统(C/C++实现内含详细注释)
  17. Java制作JDK8文档搜索引擎项目并部署到阿里云服务器
  18. 【规范】C/C++注释格式
  19. 【2D 目标检测】CornerNet: Detecting Objects as Paired Keypoints
  20. JVM内存分哪几个区,每个区的作用是什么?

热门文章

  1. 5万字长文!SpringBoot 操作 ElasticSearch 详解
  2. Dubbo源码分析(三) -- Dubbo的服务发现源码深入解析4万字长文
  3. 微信小程序中通过Basic Auth传递token
  4. 计算机任务计划程序已损坏,win7系统弹出任务计划程序窗口显示该任务映像损坏或已篡改0x80041321错误代码的解决方法...
  5. Oracle日期格式转换 to_date,to_char,to_timetamp 相互转换
  6. 一些程序中常出现的英文符号的读法
  7. 力扣(441.26)补8.24
  8. 游戏机生产厂家不朽的神迹碎片系统详细攻略心得
  9. linux中lockf的例子,小何讲Linux: 文件锁及其实例
  10. 《Wireshark数据包分析实战(第2版)》目录—导读