MATLAB APP designer桌面APP设计基础教程——以音频信号的数字水印嵌入系统为例

文章目录


前言

  本文章旨在通过使用MATLAB设计一个音频信号的数字水印嵌入系统使得初学者可快速上手APP designer,利用基础功能设计出自己需要的GUI界面。

  系统由基础的按钮与坐标图表组成,使用DWT和LSB两种方法嵌入数字水印,在理论分析和实验后,认为DWT技术更好,便添加了DWT的提取水印功能,完整GUI界面如下:


一、APP designer的基本使用

  Appdesigner使用面向对象的方式进行编写;并且在开发工具中,所有控件的生成代码由开发工具自动生成,用户只需要按照自己的实际需要添加全局变量、回调函数,修改控件属性即可。按照官方文档的说法,GUIDE将会被逐渐移除出MATLAB。因此,我们需要尽快学习并掌握Appdesigner的使用。

1、界面介绍

打开MATLAB,点击设计APP

选择空白APP

整个界面由组件库、UIfigure、组件浏览器构成。组件库是为了设计页面,不同组件库有不同的功能;UIfigure是载体,有设计视图和代码视图两个部分;组件浏览器呈现当前的页面构成

2、组件——按钮

首先,我们需要将按钮控件添加到设计画布上。在左边常用控件里找到“按钮”,将其拖动到画布上,这样,一个按钮控件就添加好了。

如上图所示,当添加好按钮控件后,单击控件,周围会出现一个蓝色框。这个和我们在PPT里常见的文本框性质是相同的,我们可以直接拖拽框体调整控件的大小;按住整个控件,可以改变其位置。右侧的组件浏览器中,上方为组件树,下方为我们所选中的组件的属性。最常用的属性为“Text”,这个属性代表了控件在图窗中显示的名字。比如此处,我将其命名为“载入原始音频”,那么在图窗中,这个按钮控件就会显示为“载入原始音频”

接下来我们编写回调函数,单击鼠标右键出现如下菜单页面,单机添加回调

这样,我们就切换到了代码视图,在白框内就可以编辑代码,按键摁下便会运行这段代码

若想要回到设计视图就点击这里

我们将这几行代码写入白框中

FILE1='Rihanna - Take A Bow.wav';
[y,Fs]=audioread(FILE1);%音频信号y,采样率fs,采样精度bits
sound(y,Fs);%播放原始语音

这样就完成了播放音频的功能

2、组件库——坐标区

坐标区在App的开发中是至关重要的。很多时候,我们需要使用坐标区绘制数据、显示图像、显示模型等。因此,我们需要掌握坐标区的使用。

同样,在组件库中找到“坐标区”控件,将其拖拽进画布,如下图所示。

在这里,我们使用两个坐标区分别显示原始音频信号的时域和频域图,在按键的回调函数中添加代码

y = mean(y, 2); % 将多个声道的信号合并为单声道
y_fft=fft(y,Fs);
t = (0:length(y)-1)/Fs;
f = (0:length(y_fft)-1)*Fs/length(y_fft);
plot(app.UIAxes,t,y);
plot(app.UIAxes2,f,abs(y_fft))

之后我们点击运行

按下按键后,APP界面如图,两个图表分别显示时域和频域

二、数字水印嵌入技术算法


2024年1月24日

  • 10
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值