信息隐藏实验1  计算机图像的基本操作

实验目的

一、熟悉MATLAB图像基本操作

二、使用图像降级技术实现图中藏图

实验要求

一、要求能够利用C/C++、Matlab等高级编程语言编写基本的算法程序,并通过调试、运行程序。

二、上交实验报告

实验内容

一、熟悉MATLAB,完成下述实验:

实验1.1:用MATLAB计算3+2

实验1.2:矩阵操作

>>X=zeros(m,n) ; %m,n自由选择

>>Y=zeros(size(X));

>>Z=[1,2,3;4,5,6;7,8,9];

>>Z(1,2)=?

>>X(p,q)=Z(1,2); %p,q自由选择

实验1.3:伪随机发生器一般模型:

>>rand(‘seed’, num); %num自己选择

>>rand(n,m); %m,n自己选择

>>randint(n,m,rg); %m,n,rg自己选择

实验1.4:熟悉一般文件的导入操作

>>frr=fopen(filepath,’r’);  %filepath自己选定

>>[msg,msg_len]=fread(frr,’ubit1’);

实验1.5:熟悉图像的导入操作

>>data1=imread(‘c:\woman.bmp’);  %图像自己选定

>>data2=imread(‘c:\lena.jpg’);    %图像自己选定

实验1.6:RGB图像分层

>> imageR=data2(:,:,1);  %data2由实验1.5生成

实验1.7:RGB图像合并

>>%对R层进行处理

>> data2(:,:,1)=imageR;

实验1.8:熟悉显示图像实验结果操作:

>>subplot(121),imshow(data1);title(‘woman’),

subplot(122),imshow(data2);title(‘lena’);

实验1.9:熟悉MATLAB的位操作

>>data3=bitand(data1,240);

实验1.10:熟悉取图像大小的操作

>>[row,col]=size(data1);

实验1.11:二维绘图plot

>>y=rand(100,1)

>>plot(y);

实验1.12:二维绘图plot

>>x=1:0.1*pi:2*pi;

>>y=sin(x);

>>z=cos(x);

>>plot(x,y,'-ob',x,z,':ms');

绘图结果:

实验1.13:熟悉MATLAB脚本编程的基本语法,

生成脚本文件*.m,实现以下多个基本绘图操作:

>>t=0:0.01*pi:2*pi;

>>plot(t,sin(t));

>>title(‘0到2π的正弦曲线’,’FontSize’,16);

>>xlabel(‘t=0到2 π’);

>>ylabel(‘sin(t)’);

>>text(pi,sin(pi),’\bullet\leftarrow sin(t)=0’);

>>gtext(’\bullet\最小值sin(t)=-1’);

绘图结果:

实验1.14:三维绘图plot3

>>y=rand(100,1)

>>x=0:pi/50:10*pi;

>>y=sin(x);

>>z=cos(x);

>>plot3(x,y,z);

绘图结果:

实验1.15:三维绘图mesh

>>x=-8:0.5:8;

>> y=x';

>> a=ones(size(y))*x;

>> b=y*ones(size(x));

>>c=sqrt(a.^2+b.^2)+eps;

>> z=sin(c)./c;

>>mesh(z);

绘图结果:

二、使用图像降级技术实现图中藏图

实验1.16:图像降级

给定同样尺寸的伪装载体和秘密图像,发送者把伪装载体图像灰度(或彩色)值的4个最低比特替换成秘密图像的4个最高比特。接收者从隐藏后的图像中把四个最低比特提取出来,从而获得秘密图像的4个最高比特位。

lm脚本程序如下:

%文件名:imagehide.m

%函数功能:直接将秘密图像的高4bit隐藏在RGB载体图像的R、G、B层中所选的那一层的低4bit,并将秘密图像提取出来,最后显示。要求载体图像的大小大于等于秘密图像的大小。且秘密图像是二值或灰度图像。

%输入格式:

%data=imagehide('c:\Lenna.bmp','c:\woman.bmp','c:\mix.bmp','bmp',3)

%参数说明:

% cover是载体图像的地址

% massage是秘密图像的地址

% goleimage是隐藏后图像的地址

% pemission是图像的类型

%level是作为的载体的具体层。R为1,G为2,B为3。

%data是隐藏后图像的矩阵

function data=imagehide(cover,massage,goleimage,permission,level)

%提取图像信息并分层

cover = imread(cover,permission);

data=cover;

msg=imread(massage,permission);

[row,col]=size(cover);

cover1=cover(:,:,level);

%置载体图像R层的低4bit为0

for i=1:row

for j=1:col/3

cover1(i,j)=bitand(cover1(i,j),240);

end

end

%置秘密图像的低4bit为0

takemsg4=bitand(msg,240);

%将秘密图像的高4bit右移4位

shiftmsg4=bitshift(takemsg4,-4);

%图像隐藏

for i=1:row

for j=1:col/3

cover1(i,j)=bitor(cover1(i,j),shiftmsg4(i,j));

end

end

%写回并保存

data(:,:,level)=cover1;

imwrite(data,goleimage,permission);

%提取秘密图像信息,检测隐藏效果

data=imread(goleimage,permission);

[row,col]=size(data);

A=data(:,:,level);

for i=1:row

for j=1:col/3

A(i,j)=bitand(A(i,j),15);

end

end

A=bitshift(A,4);

%显示结果

subplot(221),imshow(cover);title('载体图像');

subplot(222),imshow(massage);title('秘密图像');

subplot(223),imshow(data);title('隐藏后的图像');

subplot(224),imshow(A);title('提取的秘密图像');

l实验绘图结果:

MATLAB图形的实验原理,信息隐藏实验1相关推荐

  1. LSB图像信息隐藏算法matlab,实验二LSB信息隐藏实验.doc

    实验二LSB信息隐藏实验.doc 实验二LSB信息隐藏实验 综合评分: [实验目的]: 掌握MATLAB基木操作 实现LSB信息隐藏和提取 [实验内容]:(请将你实验完成的项11涂"■&qu ...

  2. Matlab-LSB信息隐藏实验

    一.实验内容 实验完成形式:  用MATLAB函数实现LSB信息隐藏和提取 实验选择载体:  512×512灰度图像 实验效果和分析:  1.完成基本的LSB信息隐藏及提取 2.能随机选择嵌入位进行信 ...

  3. 数字水印实验2 基于LSB和EMD的信息隐藏实验

    [实验名称]基于LSB和EMD的信息隐藏实验 [实验目的] 1.学习并掌握图像信息隐藏的基本原理和方法 2.学习并实现基于LSB的信息隐藏和提取算法 3.学习并实现基于EMD的信息隐藏和提取算法 [实 ...

  4. matlab信息隐藏图片,信息隐藏 实验二 BMP 图像信息隐藏

    实验二 BMP 图像信息隐藏 一,实验目的 1,了解BMP图像文件格式 2,了解利用BMP图像文件隐藏信息的原理 3,设计并实现一种基于24位真彩色BMP图像的文件信息隐藏方法. 二,实验环境 1, ...

  5. 计算机图形学二维图形基本变换实验原理,计算机图形学实验:二维图形变换.docx...

    计算机图形学实验:二维图形变换.docx (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实验三 二维图形变换一.实验任务1. 通 ...

  6. matlab绘制y3=e (-x),MATLAB图形绘制-二维配套实验

    实验五 MATLAB 绘图-二维 1.在同一坐标系下绘制下面三个函数在t ∈[0,4π]的图象. ) sin(41.0321t e y t y t y t -===π 注意此处的sin (t )前面需 ...

  7. 合肥工业大学信息隐藏实验报告

    ✅作者简介:CSDN内容合伙人.信息安全专业在校大学生

  8. 基于MATLAB的混沌密码与数字图像加密应用、信息隐藏

    基于MATLAB的混沌密码与数字图像加密应用.信息隐藏 实验目的:利用Matlab软件基于Logistic映射的加密算法对图像进行加密和解密,以及利用DEV C++软件.Excel表格绘制图像基于Lo ...

  9. 信息隐藏——二值图像的信息隐藏

    二值图像的信息隐藏 [实验目的]: 使用一个特定图像区域中黑像素的个数来编码秘密信息. 若某块P1 (Bi)>50%,则嵌入一个1,若P0 (Bi)>50%,则嵌入一个0. 在嵌入过程中, ...

最新文章

  1. 七猫php面试,七猫面试 - osc_2frv0wjp的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. 成功搞定了在Windows7中安装SAP了
  3. 任务队列和异步接口的正确打开方式(.NET Core版本)
  4. opencv进阶学习笔记2:numpy操作图像,色彩空间,查找指定颜色范围,通道分离与合并
  5. python提取数据段_python提取数据段 python数据分析
  6. 不选择互联网行业,学弟学妹可以选择这些新兴科技行业发展!
  7. elementui Cascader 省市区联动选择器,应用与回显
  8. 基于JAVA+SpringMVC+MYSQL的旅行社管理系统
  9. C#用SqlCilent模式连接数据库实例
  10. Tensorflow Estimator之DNNClassifier
  11. Thinking in Java 4th(Java编程思想第四版)文档、源码、习题答案
  12. OpenCV-矩形边框cv::boundingRect
  13. 39. Element compareDocumentPosition() 方法
  14. 【计算电磁学】真空中电磁波传播的MATLAB一维FDTD仿真程序
  15. 【题解】P5369 [PKUSC2018]最大前缀和(状压 DP)
  16. 企域数科沈扬:破解传统销售困境,数字化营销将重塑汽车产业新格局丨数据猿专访...
  17. windows快捷键之打开网络连接
  18. Web Service描述语言 WSDL 详解
  19. 【WIN7系统不是万能滴】
  20. 用NSIS制作安装文件

热门文章

  1. APP在各大应用商店上架要求汇总
  2. linux 下动手实现bash -lR 命令
  3. 红米Redmi品牌独立后首发新品 雷军:『友商就不要用性价比这个词了』
  4. java大作业网络聊天室
  5. Microsoft 文本转语音应用
  6. 360cdn能挡住cc攻击_人人用得起的CDN加速服务,可防御CC攻击
  7. Aria2-突破百度网盘下载限速
  8. 如何在CSDN博客中上传图片
  9. c语言bmp位图读入,c语言 bmp位图差分
  10. Mac版 Adobe PS CC 2019 安装教程