matlab音频和图像简单处理——信息隐藏基础

matlab⾳频和图像简单处理——信息隐藏基础
怎么自制纳米胶离散傅⾥叶,离散余弦和离散⼩波变换是图像、⾳频信号常⽤的基础操作,时域信号转化到不同变换域以后,会导致不同程度的能量集中,信息隐藏利⽤这个原理在变换域选择适当位置系数进⾏ 改、嵌⼊信息,并确保图像、⾳频信号经处理后感官质量⽆明显变化。
⾄于什么是傅⾥叶变换、有什么作⽤,虽然学过但是上课划⽔,不是很了解。看了⼏篇博客到⼀篇讲解⽣动的,读后感觉了解了许多:⾳频
%声⾳信号的傅⽒变换
% [x,fs]=audioread('tada.wav');
% fx=fft(x);
% plot(abs(fftshift(fx)));
% xlabel('Time');
% ylabel('Amplitude');
% title('The Wave form of signal');
% grid on;
%⼩波变换
% [a,fs]=audioread('tada.wav');
% [ca1,cd1]=dwt(a(:,1),'db4');%近似,细节
% a0=idwt(ca1,cd1,'db4',length(a(:,1)));
% subplot(4,1,1);plot(a(:,1));
% subplot(4,1,2);plot(cd1);
% subplot(4,1,3);plot(ca1);
% subplot(4,1,4);plot(a0);里氏木霉
%语⾳信号⼩波变换三级分解
% [a,fs]=audioread('tada.wav');
% [c,l]=wavedec(a(:,2),3,'db4');
% ca3=appcoef(c,l,'db4',3);%提取第3层的近似系数
% cd3=detcoef(c,l,3);%提取第3层的细节系数
% cd2=detcoef(c,l,2);
% cd1=detcoef(c,l,1);
% a0=waverec(c,l,'db4');
%
% subplot(6,1,1);plot(a(:,2));
% subplot(6,1,2);plot(cd1);
% subplot(6,1,3);plot(cd2);
% subplot(6,1,4);plot(cd3);
% subplot(6,1,5);plot(ca3);
% subplot(6,1,6);plot(a0);
% 离散余弦变换
% len=40000;
% [fn,pn]=uigetfile('* .wav','请选择⾳频⽂件')
% [x,fs]=wavread(strcat(pn,fn),len);
% xsync=idct(xf);
% [row,col]=size(x);
% xff=zeros(row,col);
% xff(1:row,1:col)=xf(1:row,1:col);
% y=idct(xff);
clear;
[x,fs]=audioread('tada.wav');
len=40000;
f1=[0:len-1]*fs/len;
xf=dct(x);
figure;
subplot(2,1,1);plot(x);title('original audio');
subplot(2,1,2);plot(abs(xf));title('DCT');
图像
% b=imread('lena.jpg');    % 读⼊图像,像素值在b中
% b=rgb2gray(b);    % 转换为灰度图像
% figure(1);
% I=im2bw(b);
% imshow(b);
% title('(a)原图像');
% figure(2);
% fa=fft2(I);        % 使⽤fft函数进⾏快速傅⽴叶变换
% ffa=fftshift(fa);    % fftshift函数调整fft函数的输出顺序,将零频位置移到频谱的中⼼% imshow(ffa,[200,225]);
多媒体互动教学系统% title('(b)幅度谱');
% figure(3);
% image(abs(ffa));
% l=mesh(abs(ffa));  % 画⽹格曲⾯图
% title('(c)幅度谱的能量分布');
% lena图像的⼀级⼩波变换
% b=imread('lena.jpg');
% a=im2bw(b);
% nbcol=size(a,1);
% [ca1,ch1,cv1,cd1]=dwt2(a,'db4');
% cod_ca1=wcodemat(ca1,nbcol);
% cod_ch1=wcodemat(ch1,nbcol);
% cod_cv1=wcodemat(cv1,nbcol);
% cod_cd1=wcodemat(cd1,nbcol);
剖分式油封
% image([cod_ca1,cod_ch1;cod_cv1,cod_cd1]);
%图像的⼆级⼩波变换
b=imread('lena.jpg');
a=im2bw(b);
nbcol=512;
nbc=256;
[ca1,ch1,cv1,cd1]=dwt2(a,'db4');
[ca2,ch2,cv2,cd2]=dwt2(ca1,'db4');
cod_ca1=wcodemat(ca1,nbc);
cod_ch1=wcodemat(ch1,nbc);
cod_cv1=wcodemat(cv1,nbc);
cod_cd1=wcodemat(cd1,nbc);
cod_ca2=wcodemat(ca2,nbcol);
cod_ch2=wcodemat(ch2,nbcol);
cod_cv2=wcodemat(cv2,nbcol);
cod_cd2=wcodemat(cd2,nbcol);
tt=[cod_ca2,cod_ch2;cod_cv2,cod_cd2];
tt=imresize(tt,[131,131]); %这⾥要根据cod_ca2更改
image([tt,cod_ch1;cod_cv1,cod_cd1]);
%离散余弦变换
% b=imread('lena.jpg');% 读⼊图像,像素值在b中
% b=rgb2gray(b);    % 转换为灰度图像
% figure(1);
% imshow(b);
% title('(a)原图像');
%
蜂窝煤采暖炉% I=im2bw(b);
% figure(2);
% c=dct2(I);  % 进⾏离散余弦变换
% imshow(c);
% title('(b)DCT变换系数');
%
% figure(3);
% mesh(c);    % 画⽹格曲⾯图
% title('(c)DCT变换系数(⽴体视图)');
%读bmp
% clear all;
% [A,M]=imread('d:\matlabcode\lena.bmp','bmp');
% figure
% imshow(A);
% [x,y]=size(A);% x = 512  y = 1536
% class(A); % ans = uint8
毛辊清洗机
% gray=rgb2gray(A);
% size(gray);% ans =  512  512 % imshow(gray);
% bw=im2bw(gray);
% imshow(bw);
% imwrite(bw,'b.bmp');

本文发布于:2024-09-22 06:53:25,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/4/212183.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:变换   图像   信号   能量
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议