MATLAB图形的实验原理,信息隐藏实验1
信息隐藏实验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相关推荐
- LSB图像信息隐藏算法matlab,实验二LSB信息隐藏实验.doc
实验二LSB信息隐藏实验.doc 实验二LSB信息隐藏实验 综合评分: [实验目的]: 掌握MATLAB基木操作 实现LSB信息隐藏和提取 [实验内容]:(请将你实验完成的项11涂"■&qu ...
- Matlab-LSB信息隐藏实验
一.实验内容 实验完成形式: 用MATLAB函数实现LSB信息隐藏和提取 实验选择载体: 512×512灰度图像 实验效果和分析: 1.完成基本的LSB信息隐藏及提取 2.能随机选择嵌入位进行信 ...
- 数字水印实验2 基于LSB和EMD的信息隐藏实验
[实验名称]基于LSB和EMD的信息隐藏实验 [实验目的] 1.学习并掌握图像信息隐藏的基本原理和方法 2.学习并实现基于LSB的信息隐藏和提取算法 3.学习并实现基于EMD的信息隐藏和提取算法 [实 ...
- matlab信息隐藏图片,信息隐藏 实验二 BMP 图像信息隐藏
实验二 BMP 图像信息隐藏 一,实验目的 1,了解BMP图像文件格式 2,了解利用BMP图像文件隐藏信息的原理 3,设计并实现一种基于24位真彩色BMP图像的文件信息隐藏方法. 二,实验环境 1, ...
- 计算机图形学二维图形基本变换实验原理,计算机图形学实验:二维图形变换.docx...
计算机图形学实验:二维图形变换.docx (9页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 19.90 积分 实验三 二维图形变换一.实验任务1. 通 ...
- matlab绘制y3=e (-x),MATLAB图形绘制-二维配套实验
实验五 MATLAB 绘图-二维 1.在同一坐标系下绘制下面三个函数在t ∈[0,4π]的图象. ) sin(41.0321t e y t y t y t -===π 注意此处的sin (t )前面需 ...
- 合肥工业大学信息隐藏实验报告
✅作者简介:CSDN内容合伙人.信息安全专业在校大学生
- 基于MATLAB的混沌密码与数字图像加密应用、信息隐藏
基于MATLAB的混沌密码与数字图像加密应用.信息隐藏 实验目的:利用Matlab软件基于Logistic映射的加密算法对图像进行加密和解密,以及利用DEV C++软件.Excel表格绘制图像基于Lo ...
- 信息隐藏——二值图像的信息隐藏
二值图像的信息隐藏 [实验目的]: 使用一个特定图像区域中黑像素的个数来编码秘密信息. 若某块P1 (Bi)>50%,则嵌入一个1,若P0 (Bi)>50%,则嵌入一个0. 在嵌入过程中, ...
最新文章
- 七猫php面试,七猫面试 - osc_2frv0wjp的个人空间 - OSCHINA - 中文开源技术交流社区...
- 成功搞定了在Windows7中安装SAP了
- 任务队列和异步接口的正确打开方式(.NET Core版本)
- opencv进阶学习笔记2:numpy操作图像,色彩空间,查找指定颜色范围,通道分离与合并
- python提取数据段_python提取数据段 python数据分析
- 不选择互联网行业,学弟学妹可以选择这些新兴科技行业发展!
- elementui Cascader 省市区联动选择器,应用与回显
- 基于JAVA+SpringMVC+MYSQL的旅行社管理系统
- C#用SqlCilent模式连接数据库实例
- Tensorflow Estimator之DNNClassifier
- Thinking in Java 4th(Java编程思想第四版)文档、源码、习题答案
- OpenCV-矩形边框cv::boundingRect
- 39. Element compareDocumentPosition() 方法
- 【计算电磁学】真空中电磁波传播的MATLAB一维FDTD仿真程序
- 【题解】P5369 [PKUSC2018]最大前缀和(状压 DP)
- 企域数科沈扬:破解传统销售困境,数字化营销将重塑汽车产业新格局丨数据猿专访...
- windows快捷键之打开网络连接
- Web Service描述语言 WSDL 详解
- 【WIN7系统不是万能滴】
- 用NSIS制作安装文件