- u投在线
-
plot(t,T);
tfit=0:24;
A=polyfit(t,T,2);
Tfit=polyval(A,tfit);
hold on
plot(tfit,Tfit);
polyval(A,12.5)%
- 阿里阿涅德
-
[YC,YS]=wavedec2(Y,2,"db1");
Y为要分解的图像矩阵,2为分解的层数,‘db1"为采用的小波基
返回两个矩阵YC和YS。Yh2=detcoef2("h",YC,YS,2);这是提取出图像2层分解后的水平分量,h改v是垂直分量,h该d是对角分量。细节分量用另外一个方法提取。
相关推荐
matlab图像小波分解,dwt2和wavedec2有什么区别
dwt2是单一尺度DWT,只能分解一层,wavedec2是多尺度DWT,可以分解多层。在matlab中的wavedec2函数是调用dwt2函数实现的,就是将dwt2分解的一层结果再用一次dwt2分解就得到了第二层的分解结果,以此类推得到wavedec2各层的分解结果。所以对于实际问题的处理通常使用wavedec2函数,dwt2函数可以认为只是作为wavedec2函数的子函数,其应用地并不多。2023-07-19 21:29:011
matlab wavedec和wavedec2的区别
使用小波"wname"对信号X进行单层分解,求得的近似系数存放在数组cA中,细节系数存放在数组cD中 [cA,cD]=dwt(X,"wname")中返回的cA,cD分别存放是信号的近似和细节 [C,L]=wavedec(X,N,"wname") 利用小波"wname"对信号X进行多层分解 A=appcoef(C,L,"wname",N) 利用小波"wname"从分解系数[C,L]中提取第N层近似系数 [C,L]=wavedec(X,1,"wname")中返回的近似和细节都存放在C中,即C=[cA,cD],L存放是近似和各阶细节系数对应的长度 DWT2是二维单尺度小波变换,其可以通过指定小波或者分解滤波器进行二维单尺度小波分解 DWT2的一种语法格式是[cA,cH,cV,cD]=dwt2(X,"wname") WAVEDEC2是二维多尺度小波分解 WAVEDEC2的语法格式是[C,S]=wavedec2(X,N,"wname"),其中N为大于1的正整数 也就是说DWT2只能对某个输入矩阵X进行一层分解,而WAVEDEC2可以对输入矩阵X进行N层分解2023-07-19 21:29:091
matlab图像小波分解,dwt2和wavedec2有什么区别
dwt2是单层DWT函数,能分解一层。wavedec2是多层DWT函数,用于多层分解,其函数其实是每次调用dwt2函数实现多层分解滴,所以也可将dwt2看作wavedec2函数滴子函数。2023-07-19 21:29:161
如图,使用matlab编程实现小波变换对一幅图像进行处理,从而得出4个座标图。
A = imread("image.bmp");B = A(:,:,1);[lowf,highfH,highfV,highfD,C,S] = wavelet2D(double(B),"morlet",2);function[lowf,highH,highV,highD,C,S] = wavelet2D(signal,wavelet,level)[C,S]=wavedec2(signal,level,wavelet);lowf = appcoef2(C,S,wavelet,level);highH=detcoef2("h",C,S,level);highV=detcoef2("v",C,S,level);highD=detcoef2("d",C,S,level);A = wrcoef2("a",C,S,wavelet,level);Dh =wrcoef2("h",C,S,wavelet,level);Dv =wrcoef2("v",C,S,wavelet,level);Dd =wrcoef2("d",C,S,wavelet,level);subplot(2,2,1),image(A);subplot(2,2,2),imshow(Dh);subplot(2,2,3),imshow(Dv);subplot(2,2,4),imshow(Dd);2023-07-19 21:29:242
小波分解是什么意思?分解后得到的是什么?小波分解后进行重构得到图形d1,d2,又是什么?
有一维和二维小波分解,MATLAB中的代码分别为wavedec和wavedec2。小波对图像进行分解时,会得到一个逼近子图像和三个不同方向(水平、垂直、对角线)的细节子图像,继续对子图像进行小波分解便得到图像的小波多尺度分解。对子图进行单支重构(wrcoef)并叠加就得到和原图像大小相同的图像了。建议你看看孙延奎写的小波方面的书籍,比较浅显易懂2023-07-19 21:29:311
用小波分解图像之后,对分解系数进行了修改,但是最后重构的图像不对?
运行后是什么样的错误?没看到细节不好判断,但我怀疑有可能是数据类型不匹配一类。把具体的出错信息发上来看看吧。看到了,问题应该出在矩阵维度上,wavedec2做完小波分解后会返回两个变量,一个是小波系数,另一个是相当于索引的矩阵,文档中分别以C和S表示。在使用waverec2重构的时候,输入变量也应是一样的内容。按照你的思路,应该是cn为滤波后的小波系数,那么I应该就是wavedec2的第二个返回变量,如果cn没变,则I不应该变。滤波的时候最好不要打乱小波系数的顺序,否则重新组织起来很烦的。wavedec2生成的小波系数组织方式参见后面的参考资料。其实做图像处理还可以考虑用dwt2这个函数。近似图像特别亮?如果排除滤波的影响,我觉得haar小波应该不会出现这个现象。以上。专业路过的老狼2023-07-19 21:29:381
matlab中 wavedec2(x,N,wname)使用的是什么样的算法,比如跟Mallat算法或多孔算法有什么联系和区别?
wavedec2是二维小波分解算法,Matlab小波算法的书很多,自己找本看看吧!2023-07-19 21:29:451
如何用matlab进行离散小波分解
clear;clcload tire ;% 用小波函数db1对信号进行2尺度分解[c,s] = wavedec2(x,2,"db1");sizex = size(x)sizec = size(c)val_s = s % 提取尺度2的所有方向的高频系数[chd2,cvd2,cdd2] = detcoef2("all",c,s,2); sizecd2 = size(chd2)% 提取尺度1的所有方向的高频系数 [chd1,cvd1,cdd1] = detcoef2("all",c,s,1); sizecd1 = size(chd1)% 提取尺度2的低频系数ca2 = appcoef2(c,s,"db1",2); sizeca2 = size(ca2)% 提取尺度1的低频系数ca1 = appcoef2(c,s,"db1",1); sizeca1 = size(ca1)nbc = size(map,1);colormap(pink(nbc));figure(1);subplot(221);image(wcodemat(x,nbc));title("原始图像");subplot(223);image(wcodemat(ca2,nbc));title("尺度2的低频系数");subplot(224);image(wcodemat(ca1,nbc));title("尺度1的低频系数");figure(2);subplot(221);image(wcodemat(chd2,nbc));title("尺度2水平方向的高频系数");subplot(222);image(wcodemat(cvd2,nbc));title("尺度2垂直方向的高频系数");subplot(223);image(wcodemat(cdd2,nbc));title("尺度2斜线方向的高频系数");subplot(224);image(wcodemat(chd1,nbc));title("尺度1水平方向的高频系数");figure(3);subplot(121);image(wcodemat(cvd1,nbc));title("尺度1垂直方向的高频系数");subplot(122);image(wcodemat(cdd1,nbc));title("尺度1斜线方向的高频系数");2023-07-19 21:29:541
matlab 小波
彩色图像是3维矩阵,二维小波当然会出错,每一层分开处理即可下面是例子:x=imread("liftingbody.png");imshow(x);%显示原图[c,s]=wavedec2(double(x),2,"db1");%分解y=waverec2(c,s,"db1");%重构figure;imshow(uint8(y))%显示2023-07-19 21:30:091
function y=mywavedec2(x,dim)怎么执行
"f()中的x是传地址的 "所以本过程中的x=10,在y=f(x)后,x在f()里被改变成x=20并带回。 "y=f(x)即f(x)的返回值,f()返回值是f()中的x*y即20*2=40,因为f()中f=x*y2023-07-19 21:30:341
求二值化后的图片用MATLAB去噪的程序
load wbarb; % 装载原始图像 subplot(221); % 新建窗口 image(X); % 显示图像 colormap(map); % 设置色彩索引图 title("原始图像"); % 设置图像标题 axis square; % 设置显示比例,生成含噪图像并图示 init=2055615866; % 初始值 randn("seed",init); % 随机值 XX=X+8*randn(size(X)); % 添加随机噪声 subplot(222); % 新建窗口 image(XX); % 显示图像 colormap(map); % 设置色彩索引图 title("含噪图像"); % 设置图像标题 axis square; %用小波函数coif2 对图像XX 进行2 层分解 [c,l]=wavedec2(XX,2,"coif2"); % 分解 n=[1,2]; % 设置尺度向量 p=[10.28,24.08]; % 设置阈值向量,对高频小波系数进行阈值处理 %nc=wthcoef2("h",c,l,n,p,"s"); %nc=wthcoef2("v",c,l,n,p,"s"); nc=wthcoef2("d",c,l,n,p,"s"); X1=waverec2(nc,l,"coif2"); % 图像的二维小波重构 subplot(223); % 新建窗口 image(X1); % 显示图像 colormap(map); %设置色彩索引图 title("第一次消噪后的图像"); % 设置图像标题 axis square; % 设置显示比例,再次对高频小波系数进行阈值处理 %mc=wthcoef2("h",nc,l,n,p,"s");mc=wthcoef2("v",nc,l,n,p,"s"); mc=wthcoef2("d",nc,l,n,p,"s"); X2=waverec2(mc,l,"coif2"); % 图像的二维小波重构 subplot(224); % 新建窗口 image(X2); % 显示图像 colormap(map); % 设置色彩索引图 title("第二次消噪后的图像"); % 设置图像标题 axis square; % 设置显示比例这个程序改一改吧2023-07-19 21:30:441
求助:在MATLAB中 如何利用mallat算法 求得小波变换系数?
如果只要得到小波系数,可以1D直接使用wavedec (2D使用wavedec2)函数进行分解,得到分解结果的CL组构(2D得到CS组构),然后用appcoef和detcoef(2D使用appcoef2和detcoef2)函数提取细节和逼近小波系数,你可以直接参看matlab的帮助文档,非常简单。2023-07-19 21:31:021
怎么用matlab把压缩成tiff
1.用matlab实现图像压缩时,如何将图片仿真 图像压缩是当今信息时代迫切需求的一门图像处理技术,它极大的减少了图像的数据量,为图像的存储,传输提供了方便。 小波变换,是一种广泛用于图像压缩的方法。它能让图像按不同的分辨率分析。 根据Mallat算法的思想,图像能分解成一个轮廓信号(低频子图)和水平,垂直,对角线三个方向上的细节信号(高频子图)。而轮廓信号又可以进一步分解。 而图像的主要能量部分是低频部分,而且人眼视觉系统对低频部分更为敏感,所以可以对低频部分采用较低压缩比;对高频部分采用较大压缩比来进行压缩。 本文提出的是一种结合小波变换,DCT变换和矢量量化的压缩方法。根据人眼的视觉特性,首先对图像进行小波分解,然后,对低频分量进行压缩比不大的DCT变换;对不同方向不同分辨率的高频分量进行不同码字大小的矢量量化编码,然后对反变换和解码后的系数进行小波重构。矢量量化过程中的码书设计采用的是LBG算法。 这样,根据对图像质量的不同要求,我们可以改变小波分解的层数,来得到不同压缩比的图像。本篇论文只对小波分解一层和两层后压缩进行了仿真和分析,表明该方案结合了各种压缩方法的优点,在满足图像质量的同时能得到较大的压缩比。 目前,在包装装潢设计中常用的图形处理软件有Pho-toshop,CorelDraw,AutoCAD等。但是这些软件中很少涉及到对图像进行压缩处理,以满足图像进行传输和储存的需要。 基于这一点考虑,在此尝试着用MATLAB编程来处理包装装潢图像的压缩,实现包装与计算机的紧密结合。 1 MATLAB MATLAB是MathWorks公司推出的一套高性能的数值计算和可视化软件,它集数值分析、矩阵运算、信号处理和图像显示于一体,它附带的小波分析工具箱功能强大,可以完成小波分析的绝大部分工作。 MATLAB工具箱的出现避免了程序设计中的重复性劳动,缩短了开发周期,降低了成本,因而受到工科院校师生和研究人员的青睐。 在介绍利用MATLAB小波工具压缩图像的文献中,总是将真彩色RGB图像转换为灰度级索引图像进行处理.经过这种处理以后,图像的存储数据能得到一定的压缩,但由压缩后的数据难以恢复成理想的彩色图像。 文中用MATLAB中有关函数处理图像压缩,而且由压缩后的数据可以还原出图像.实验结果表明,还原出的图像效果是理想的。文中主要以lena图像的处理为例,对它进行二进小波多层分解后,将低频和高频近似的系数矩阵作相应的处理,来研究用MATLAB中的小波工具箱压缩图像的方法。 2 图像压缩方法 在实际应用中,首先需要从图像文件中读取图像数据.MATLAB使用imreed()函数完这一任务.例如,在电脑D盘中有一彩色图像文件picl.jps,则可由下述语句读取: X=imread(′D:picl.′); MATLAB图像处理工具箱支持4种基本图像类型:索引图像、灰度图像、二进制图像和RGB图像.MATLAB直接从图像文件中读取的图像为RGB图像.它存储在三维数组中。这个三维数组有3个面,依次对应子红(Red)、绿(Green)、蓝(Blue)3种颜色,而面中的数据则分别是这3种颜色的强度值,面中的元素对应于图像中的像素点。 索引图像数据包括图像矩阵X与颜色图数组map,其中颜色图map是按图像中颜色值进行排序后的数组。对于每个像素,图像矩阵X包含一个值,这个值就是颜色图数组map中的索引。 颜色图map为m*3双精度矩阵,各行分别指定红、绿、蓝(R、G、B)单色值,map=〔RGB〕,R、C、B为值域为〔0,1〕的实数值,m为索引图像包含的像素个数.然后可根据情况采用不同的小波函数,进行索引图像的分解压缩。这里对上面产生的索引图像X用dbl小波进行2层分解。 〔c,l〕=wavedec2(X,2,′dbl′)。 在这里,一个索引图像作小波分解后,可得到一系列不同分辨率的子图像,不同分辨率的子图像对应的频率是不相同的.高分辨率(即高频细节)子图像上大部分点的数值接近于0,越是高频这种现象越明显.对一个图像来说,表现一个图像最主要的部分是低频(即近似)部分。 多层小波分解的所有成分系数均保存在向量c中,低频近似与高频细节的系数需从向量C中提取。MATLAB分别使用appcoet2()和detcoef2()函数来完成这一工作。 这种方法是对低频和高频部分进行处理,因而提取低频和高频近似系数。 cAl=appcoef2(c,1,′dbl,′1);cH1=detcoef2(′h′,c,1,1); cDl=detcoef2(′d′,c,l,1);cVl=detcoef2(′v′,c,l,1)。 matlab实现离散余弦变换压缩(JPEG压缩原理) JPEG图像压缩算法: 输入图像被分成8*8或16*16的小块,然后对每一小块进行二维DCT(离散余弦变换)变换,变换后的系数量化、编码并传输; JPEG文件解码量化了的DCT系数,对每一块计算二维逆DCT变换,最后把结果块拼接成一个完整的图像。在DCT变换后舍弃那些不严重影响图像重构的接近0的系数。 DCT变换的特点是变换后图像大部分能量集中在左上角,因为左上放映原图像低频部分数据,右下反映原图像高频部分数据。而图像的能量通常集中在低频部分。 实例程序: function Jpeg I=imread("D:MATLAB7 oolboximagesimdemoscameraman.tif"); %该图片在安装matlab的目录中找,原图为灰度图象 。 2.使用MATLAB图像压缩怎么做 I = imread("cameraman.tif"); % 输入图像 I = im2double(I); % 数据类型转换 T = dctmtx(8); % 计算二维离散DCT矩阵 dct = @(x)T * x * T"; % 设置函数句柄 B = blkproc(I,[8 8],dct); % 图像块处理 mask = [1 1 1 1 0 0 0 0 % 掩膜 1 1 1 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]; B2 = blkproc(B,[8 8],@(x)mask.* x); % 图像块处理 invdct = @(x)T" * x * T; % 设置函数句柄 I2 = blkproc(B2,[8 8],invdct); % 图像块处理 imshow(I), figure, imshow(I2) % 显示原始图像和压缩重构图像 3.用matlab把11张tif图片做成一个连续动画 使用如下代码方式可以达到你想要的效果。 clear; clc; for i=2:50 c=strcat("a",num2str(i));%这里可以根据自己图片名字儿作相应的修改 c=strcat(c,".bmp"); I=imread(c); % I=rgb2gray(I) figure(1); imshow(I); end 图片的保存方式如:a21.bmp,这样可以实现你的汽车动画。如果想要使用你的汽车图片做的话,请把汽车图片发给我,我帮你看看。2023-07-19 21:31:091
可以用appcoef2和detcoef2从[C,S]中提取出4种分量。现在我想让C中的LL和HL为0,然后重构回C。该如何重构
您好:I=imread("rice.png");[c,s]=wavedec2(I,2,"db1");a=appcoef2(c,s,"db1",1);%%%提取低频a=uint8(a);subplot(221)imshow(a)k=imnoise(a,"gaussian",0,0.02);%%对低频加噪声subplot(222)imshow(k)t=wrcoef2("a",c,s,"db1",2);%%由低频重构t=uint8(t);subplot(223)imshow(t)2023-07-19 21:31:161
如何用C语言实现小波多层变换wavedec2
C语言标准库当中没有这种函数,去OpenCV库当中找找有没有类似函数,如果自己实现想是相当麻烦2023-07-19 21:31:231
matlab中出现expected, ";" found.. 错误
最后一行的括号不匹配,imshow(uint8(imgResult));xlabel ("(c)小波融合图像"); 一般出现这种错误的情况有两种:1.你的该行代码中出现了中文的分号“;”,只要把他改为英文“;”的就行。2.该行的括号不匹配,少了或多了。解决的办法就是补齐。2023-07-19 21:31:302
新手求助matlab图像去噪求峰值信噪比函数调用问题
去掉分号就哦了2023-07-19 21:31:581
基于小波变换的图像压缩问题
matlab没怎么学。按错误提示:应该是wdencmp函数的参数不对。你搜下这个函数怎么用,小波变换这些,网上源程序也很多的2023-07-19 21:32:052
matlab中怎样实现多层小波重构?
T=wpdec(y,5,"db40");%对信号y进行小波包分解,层数为5,得到的T为小波树,plot一下就可看到a10=wprcoef(T,[1,0]);%a10是对节点[1,0]进行重构后得到的信号。貌似没有对那一层重构这一说法吧,只能是对某层的某个节点进行重构。节点的编号你可以从小波树中看出来这是我的做法,不过用的是小波包分解。不知对你有没有用2023-07-19 21:32:155
matlab 如何对图像进行9/7小波分解
小波分解重构 V2.0 版程序存在的问题分析http://blog.csdn.net/chenyusiyuan/archive/2008/07/09/2628911.aspx 小波图像分解 Matlab 程序 - V3.0版http://blog.csdn.net/chenyusiyuan/archive/2008/07/09/2630153.aspx 小波图像重构 Matlab 程序 - V3.0版http://blog.csdn.net/chenyusiyuan/archive/2008/07/09/2630365.aspx%----------------------------------------------------------% 本文给出了小波图像分解程序的修正代码,并对一些细节问题进行了图示讨论。修正前的小波图像分解与重构程序,请看如下文章:相关的文章有:1、自己动手编写小波信号分解与重构的Matlab程序http://blog.csdn.net/chenyusiyuan/archive/2007/11/13/1881781.aspx2、用自编的程序实现小波图像分解与重构http://blog.csdn.net/chenyusiyuan/archive/2007/11/13/1881940.aspx下面是针对上述文章中存在的问题而修改的小波图像分解程序。function coef=mywavedec2(x,N,wname)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 函数 MYWAVEDEC2() 对输入矩阵 x 进行 dim 层分解,得到相应的分解系数矩阵 y% 输入参数:x —— 输入矩阵% N —— 分解级数% wname —— 分解所用的小波函数% 输出参数:coef —— 分解系数矩阵,其结构如下:% coef = {cA_N;cV_N;cH_N;cD_N;cV_N-1;cH_N-1;cD_N-1;……;cV_1;cH_1;cD_1}% Copyright by Zou Yuhua ( chenyusiyuan ), original : 2007-11-10, modified: 2008-06-04%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % 求出小波函数的滤波器组系数向量[Lo_D,Hi_D] = wfilters(wname,"d");% 画出原始图像imshow(x);title("Original Image");% 标明图像大小[r,c]=size(x);xlabel(["Size : ",num2str(r),"*",num2str(c)]);% 将矩阵x的数据格式转换为适合数值处理的double格式xd=double(x); coef=[];for i=1:N [cA,cV,cH,cD]=mydwt2(xd,Lo_D,Hi_D); % 第 i 级小波分解 xd=cA; % 将第 i 级分解得到的低频系数矩阵作为第 i+1 级分解的源矩阵 outmp={cV;cH;cD}; % 将第 i 级分解得到的高频系数矩阵cV,cH,cD存入细胞矩阵 outmp % 注意细胞矩阵的赋值是用大括号“{}”的,而普通矩阵赋值是用方括号“[]” % 细胞矩阵不要求其中的子矩阵的行列数都相同 coef=[outmp;coef]; % 将细胞矩阵 outmp 存入输出矩阵 coef,coef将由空矩阵变为细胞矩阵 % 注意这里的方括号不能用大括号取代 % 否则,使用大括号会将初始的coef空矩阵也作为细胞矩阵的子矩阵 % 而且,在迭代中 coef 将是一个不断嵌套的细胞矩阵,不便于后续处理和读取 % 上面这个语句是一种有效的在迭代过程中保存数据的方法 % 设待存数据为 data,可以是单个数、向量或矩阵 % 保存数据的矩阵为 mat,初始为空矩阵:mat=[] % 则可按以下格式保存迭代过程产生的数据 % mat=[mat;data]; % 方括号内的分号“;”表示数据 data 是按“列”排序的方式存入矩阵 mat % mat=[mat,data]; % 方括号内的逗号“,”表示数据 data 是按“行”排序的方式存入矩阵 mat % data 也可以在 mat 前嵌入,即 mat=[data;mat] 或 mat=[data,mat]end% 迭代结束后,矩阵 coef 中保存的是各级分解中的高频系数矩阵% 故需将迭代后得到的矩阵 cA,即第 dim 级低频矩阵存入矩阵 coefcoef=[cA;coef];% 最后,小波系数矩阵 coef 的结构如下% coef = {cA_N;cV_N;cH_N;cD_N;cV_N-1;cH_N-1;cD_N-1;……;cV_1;cH_1;cD_1} % 画出各级低频、高频系数矩阵% 首先建立一个名为“Wavelet Decomposition -- Wavelet Type: , Levels: ”的图像窗口figure("Name",["Wavelet Decomposition -- Wavelet Type: ",wname," , Levels: ",num2str(N)]);% 图像的第1行显示低频系数,置中,左右两个subplot为空subplot(N+1,3,2);yt=uint8(coef{1});[yrow,ycol]=size(yt);imshow(yt);title( ["Approximation A",num2str(N)]);xlabel(["Size : ",num2str(yrow),"*",num2str(ycol)]);% 第2-(N+1)行显示各级高频系数titllist={["Vertical Detail V"];["Horizontal Detail H"];["Diagonal Detail D"]};pn=2; % pn 是子图的显示序号for pr=1:N for pc=1:3 subplot(N+1,3,pn+2); yt=[]; % 为了使高频细节内容(轮廓、边缘)更清晰,将高频系数增加100灰度值 yt=uint8(coef{pn})+100; [yrow,ycol]=size(yt); imshow(yt);title([ titllist{pc},num2str(N-pr+1)]); xlabel(["Size : ",num2str(yrow),"*",num2str(ycol)]); % 每行的第一个图像的Y轴,显示该行高频系数对应的分解级别 if mod(pn+2,3)==1 ylabel(["Level ",num2str(N-pr+1)]); end pn=pn+1; endendfunction [cA,cV,cH,cD]=mydwt2(x,Lo_D,Hi_D)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 函数 MYDWT2() 对输入的r*c维矩阵 x 进行二维小波分解,输出四个分解系数子矩阵[LL,HL,LH,HH]% 输入参数:x —— 输入矩阵,为r*c维矩阵。% Lo_D,Hi_D —— 小波分解的滤波器组系数向量% 输出参数:cA,cV,cH,cD —— 是小波分解系数矩阵的四个相等大小的子矩阵% cA:低频部分分解系数; cV:垂直方向分解系数;% cH:水平方向分解系数; cD:对角线方向分解系数。% Copyright by Zou Yuhua ( chenyusiyuan ), original : 2007-11-10, modified: 2008-06-04%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% [row,col]=size(x); % 读取输入矩阵的大小for j=1:row % 首先对输入矩阵的每一行序列进行一维离散小波分解 tmp1=x(j,:); [ca1,cd1]=mydwt(tmp1,Lo_D,Hi_D,1); % tmp1 长度为 row ,滤波器长度为 lnf ,则 [ca1,cd1] 的总长为 ( row + lnf -1 ) x1(j,:)=[ca1,cd1]; % 将分解系数序列存入缓存矩阵 x1 中end [row1,col1]=size(x1); % row1=row + lnf -1, col1=col+lnf-1for k=1:col1 % 再对缓存矩阵 x1 的每一列序列进行一维离散小波分解 tmp2=x1(:,k); [ca2,cd2]=mydwt(tmp2,Lo_D,Hi_D,1); x2(:,k)=[ca2,cd2]" ; % 将分解所得系数存入缓存矩阵 x2 中 % 注意不要遗漏了上一行代码中的转置符号“ "”。 Matlab 6.5 及以下较低的版本不支 % 持行、列向量的相互赋值,故要把行向量[ca2,cd2]转置为列向量,再存入 x2 的相应列end[row2,col2]=size(x2);cA=x2(1:row2/2,1:col2/2); % cA是矩阵x2的左上角部分cV=x2(1:row2/2,col2/2+1:col2); % cV是矩阵x2的右上角部分cH=x2(row2/2+1:row2,1:col2/2); % cH是矩阵x2的左下角部分cD=x2(row2/2+1:row2,col2/2+1:col2); % cD是矩阵x2的右下角部分function [cA,cD] = mydwt(x,lpd,hpd,dim)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 函数 [cA,cD]=MYDWT(X,LPD,HPD,DIM) 对输入序列x进行一维离散小波分解,输出分解序列[cA,cD]% 输入参数:x——输入序列;% lpd——低通滤波器;% hpd——高通滤波器;% dim——小波分解层数。% 输出参数:cA——平均部分的小波分解系数;% cD——细节部分的小波分解系数。% Copyright by Zou Yuhua ( chenyusiyuan ), original : 2007-11-10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%cA=x; % 初始化cA,cDcD=[];for i=1:dim cvl=conv(cA,lpd); % 低通滤波,为了提高运行速度,调用MATLAB提供的卷积函数conv()dnl=downspl(cvl); % 通过下抽样求出平均部分的分解系数cvh=conv(cA,hpd); % 高通滤波 dnh=downspl(cvh); % 通过下抽样求出本层分解后的细节部分系数 cA=dnl; % 下抽样后的平均部分系数进入下一层分解 cD=[cD,dnh]; % 将本层分解所得的细节部分系数存入序列cDendfunction y=downspl(x)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 函数 Y=DOWMSPL(X) 对输入序列进行下抽样,输出序列 Y。% 下抽样是对输入序列取其偶数位,舍弃奇数位。例如 x=[x1,x2,x3,x4,x5],则 y=[x2,x4].% Copyright by Zou Yuhua ( chenyusiyuan ), original : 2007-11-10%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%N=length(x); % 读取输入序列长度M=floor(N/2); % 输出序列的长度是输入序列长度的一半(带小数时取整数部分)i=1:M;y(i)=x(2*i); —— 图示讨论1、小波分解的行、列变换过程(使用Haar小波)% 行变换代码[row,col]=size(x); % 读取输入矩阵的大小for j=1:row % 首先对输入矩阵的每一行序列进行一维离散小波分解 tmp1=x(j,:); [ca1,cd1]=mydwt(tmp1,Lo_D,Hi_D,1); % tmp1 长度为 row ,滤波器长度为 lnf ,则 [ca1,cd1] 的总长为 ( row + lnf -1 ) x1(j,:)=[ca1,cd1]; % 将分解系数序列存入缓存矩阵 x1 中end 行变换的结果图示: 可见,行变换将图像矩阵分为左右两部分,左边是平均系数,右边是细节系数,并且由图可见细节系数是垂直性的,属于 vertical detail。% 列变换代码[row1,col1]=size(x1); % row1=row + lnf -1, col1=col+lnf-1for k=1:col1 % 再对缓存矩阵 x1 的每一列序列进行一维离散小波分解 tmp2=x1(:,k); [ca2,cd2]=mydwt(tmp2,Lo_D,Hi_D,1); x2(:,k)=[ca2,cd2]"; % 将分解所得系数存入缓存矩阵 x2 中end 列变换的结果图示: 列变换后,所得矩阵就是一级小波变换的结果,可分为4部分:左上角的平均系数 cA、右上角的垂直细节系数 cV、左下角的水平细节系数 cH、右下角的对角线细节系数 cD。则 mydwt2 的输出序列是 [cA,cV,cH,cD]。不过,我不大理解的是,一般教材和Matlab的说明文档都是把系数序列按这样的次序列出的:[cA,cH,cV,cD] ,即先水平后垂直,在显示时,水平细节在右上角,垂直细节在左下角。2、小波分解的结果(1)Haar 小波,2级分解(2)Bior3.7 小波,2级分解2023-07-19 21:32:301
关于连续小波变换的几个问题,求教
首先应明白连续或不连续多指数学的概念而已,应用中的信号都是离散的,只是你的采样足够高就可认为是连续的,所以小波变换中关心的是点数问题,而不关心信号是否连续。对于CWT或DWT其连续与否不是指分析信号,而是你说的a或b的问题,但你仍可以借鉴上面对于信号连续的理解。CWT中a是连续的,b其实就是点数,也可认为是连续的。最早的DWT是没有mallat算法的,那时a是以2的幂次方变化离散,b却是连续变化的,即二进小波变换。这种变换很鸡肋,还不如直接做CWT。DWT的应用之所以远远多于CWT就是引入了mallat算法,好处是终于可以分解和重构信号了,这种方式对信号特征的研究非常有利。DWT的核心思想其实就是CWT引出的伸缩和平移的概念,a以2的幂次方变化实现了小波的伸缩,b通过下抽样实现了小波的平移。从实际应用中进行小波变换的目的和效果来看,cwt中2/4/8/16/32的小波系数结果应该对应DWT中的阶次(层数)1/2/3/4/5的小波细节系数(或更准确的是重构后的小波细节,因为cwt的系数个数是不变的等于原信号长度,但DWT细节系数是每层近似减半的,重构后才会等长,b也是姑且认为是减半的不连续吧)。再追问吧,第二问题可能更多,我尽量精简。哎,干嘛要把问题写在一起,这就是麻烦啊,你必须追问我才能再写!2023-07-19 21:32:371
我用matlab写的函数用于处理图像,为什么C#调用不成功呢?总是出现错误?
你好呀,我对Matlab的混合编程也很感兴趣,我们可以交流一下,不过你的代码不全呀,MyFunctionCacu类具体是如何构造的2023-07-19 21:32:441
急!!!在线等,求解答:一个小波去噪的matlab程序,高手进
供参考: lev=5; [c,l]=wavedec(x,lev,wname); sigma=wnoisest(c,l,1); alpha=2; thr1=wbmpen(c,l,sigma,alpha) [thr2,nkeep]=wdcbm(c,l,alpha) xd1=wdencmp("gbl",c,l,wname,lev,thr1,"s",1); [xd2,cxd,lxd,perf0,perfl2]=wdencmp("lvd",c,l,wname,lev,thr2,"h"); [thr,sorh,keepapp]=ddencmp("den","wv",x) xd3=wdencmp("gbl",c,l,wname,lev,thr,"s",1); subplot(411);plot(x);title("原始信号","fontsize",12); subplot(412);plot(xd1);title("使用penalty阈值降噪后信号","fontsize",12); subplot(413);plot(xd2);title("使用Birge-Massart阈值降噪后信号","fontsize",12); subplot(414);plot(xd3);title("使用缺省阈值降噪后信号","fontsize",12);s=[-1.58 0.42 0.46 0.78 -0.49 0.59 -1.3 -1.42 -0.16 -1.47 -1.35 0.36 -0.44 -0.14 1 -0.5 -0.2 -0.06 -0.6 0.42 -1.52 0.51 0.76 -1.5 0.16 -1.29 -0.65 -1.48 0.6 -1.65 -0.55]; [C,L]=wavedec(s,1,"db3"); ca1=wrcoef("a",C,L,"db3",1); x1=ca1 ;[C,L]=wavedec(s,2,"db3"); ca2=wrcoef("a",C,L,"db3",2); x2=ca2 ;[C,L]=wavedec(s,3,"db3"); ca3=wrcoef("a",C,L,"db3",3); x3=ca3 ;[C,L]=wavedec(s,4,"db3"); ca4=wrcoef("a",C,L,"db3",4); x4=ca4 ;cg = wrcoef("a",C,L,"sym5",1); x5=cg;p=1:31; subplot(6,1,1);plot(p,s);ylabel("s"); subplot(6,1,2);plot(p,x1);ylabel("ca1"); subplot(6,1,3);plot(p,x2);ylabel("ca2"); subplot(6,1,4);plot(p,x3);ylabel("ca3"); subplot(6,1,5);plot(p,x4);ylabel("ca4") subplot(6,1,6);plot(p,x5);ylabel("ca5") %加入的重构,是不是你要的?2023-07-19 21:32:531
关于小波变换后的系数问题
离散小波变换变换采用普通二进小波变换系数都是减少一半的,没有见到哪个教材变换后,每一层的系数都是不变的。wavemenu小波工具箱进行变换在离散小波变换时,每一层的系数也是减少一半的,你看到是每一层变换后的小波系数重构的结果,其元素个数是和原数据大小相等的,其原因是重构过程进行了插值。除非采用离散平稳小波变换(SWT),那样变换后每一层的系数才是不变的。顺便说一句,小波变换的系数通常对分析信号没有意义,有时还是虚数,连图都成不了,只有通过重构(小波逆变换)才能变成有实际意义的结果。2023-07-19 21:33:032
matlab去噪
l和1弄混了,改过来就好,如gb12023-07-19 21:33:422
图像的亚像素边缘检测 MATLAB代码
Press the "Start" button to see a demonstration of denoising tools in the Wavelet Toolbox. This demo uses Wavelet Toolbox functions. % Set signal to noise ratio and set rand seed. sqrt_snr = 3; init = 2055615866; % Generate original signal and a noisy version adding % a standard Gaussian white noise. [xref,x] = wnoise(3,11,sqrt_snr,init); % Denoise noisy signal using soft heuristic SURE thresholding % and scaled noise option, on detail coefficients obtained % from the decomposition of x, at level 5 by sym8 wavelet. % Generate original signal and a noisy version adding % a standard Gaussian white noise. lev = 5; xd = wden(x,"heursure","s","one",lev,"sym8"); % Denoise noisy signal using soft SURE thresholding. xd = wden(x,"rigrsure","s","one",lev,"sym8"); % Denoise noisy signal using fixed form threshold with % a single level estimation of noise standard deviation. xd = wden(x,"sqtwolog","s","sln",lev,"sym8"); % Denoise noisy signal using fixed minimax threshold with % a multiple level estimation of noise standard deviation. xd = wden(x,"minimaxi","s","sln",lev,"sym8"); % If many trials are necessary, it is better to perform % decomposition one time and threshold it many times : % decomposition. [c,l] = wavedec(x,lev,"sym8"); % threshold the decomposition structure [c,l]. xd = wden(c,l,"minimaxi","s","sln",lev,"sym8"); % Load electrical signal and select a part. load leleccum; indx = 2600:3100; x = leleccum(indx); % Use wdencmp for signal de-noising. % find default values (see ddencmp). [thr,sorh,keepapp] = ddencmp("den","wv",x); % denoise signal using global thresholding option. xd = wdencmp("gbl",x,"db3",2,thr,sorh,keepapp); % Some trial examples without commands counterpart. % Rand initialization: init = 2055615866; % Square root of signal to noise ratio: sqrt_snr = 5; % [xref,x] = wnoise(1,11,sqrt_snr,init); % Some trial examples without commands counterpart (more). % Rand initialization: init = 2055615866; % Square root of signal to noise ratio: sqrt_snr = 4; % [xref,x] = wnoise(2,11,sqrt_snr,init); % Some trial examples without commands counterpart (more). % Rand initialization: init = 2055615866; % Square root of signal to noise ratio: sqrt_snr = 3; % [xref,x] = wnoise(3,11,sqrt_snr,init); % Some trial examples without commands counterpart (more). % Rand initialization: init = 2055615866; % Square root of signal to noise ratio: sqrt_snr = 3; % [xref,x] = wnoise(3,11,sqrt_snr,init); % Some trial examples without commands counterpart (more). % Rand initialization: init = 2055615866; % Square root of signal to noise ratio: sqrt_snr = 3; % [xref,x] = wnoise(3,11,sqrt_snr,init); % Some trial examples without commands counterpart (more). % Rand initialization: init = 2055615866; % Square root of signal to noise ratio: sqrt_snr = 3; % [xref,x] = wnoise(3,11,sqrt_snr,init);2023-07-19 21:33:491
怎样重构从第一层到第九层的高频细节信号
用MATLAB对一语音信号进行小波分解,然后对其各层系数进行处理以达到小波抑制的目的,重构处理后的信号,画出波形分析。%装载原始信号load sumsin;s=sumsin;%==============================%设置小波名并利用coif3小波进行4层分解w="coif3";maxlev=4;[c,l]=wavedec(s,maxlev,w);newc=c;%==============================%将分解后的第三、四层细节系数值为0newc=wthcoef("d",c,l,[3,4]);%==============================%在原始信号的时间区间[400,600]内将第一层细节系数值为0%并且将其他系数进行衰减,求出第一层系数起始点和终止点的%索引值k=maxlev+1;first=sum(l(1:k-1))+1;last=first+l(k-1);indd1=first:last;%==============================%将系数除以3,进行信号衰减newc(indd1)=c(indd1)/3;%==============================%在区间[400,600]上求出第一层系数索引indd1=(first+400/2):(first+600/2);%==============================%将该索引值置为0newc(indd1)=zeros(size(indd1));%==============================%将第二层中相应于原始信号t=500的时间点处的系数置为4k=maxlev;first=sum(l(1:k-1))+1;newc(first+500/2^2)=4;%==============================%综合修改后的分解结构synth=waverec(newc,l,w);%==============================%用图示出上述修改结果subplot(2,2,1);plot(s);title("原始信号");subplot(2,2,2);plot(c);title("coif3小波分解后的系数");subplot(2,2,3);plot(synth);title("小波抑制后的信号");subplot(2,2,4);plot(newc);title("修改后的小波分解系数");转自 http://captainandboat.spaces.live.com/blog/cns!9A3607F7808D2D0D!168.entry2. 用MATLAB实现对一特定信号用不同小波进行分解,提取各层的高低频系数,画出各系数波形,并重构。代码:t=0:1:100*pi;s=sin(3*t)+sin(0.3t)+sin(0.03t);subplot(6,2,1);plot(s);title("原始信号s");%====================================%对s进行小波分解:db3 5层[c,l]=wavedec(s,5,"db3");%====================================%提取小波分解的低频系数a5=appcoef(c,l,"db3",5);a4=appcoef(c,l,"db3",4);a3=appcoef(c,l,"db3",3);a2=appcoef(c,l,"db3",2);a1=appcoef(c,l,"db3",1);%====================================%提取小波分解的各层高频系数d5=detcoef(c,l,5);d4=detcoef(c,l,4);d3=detcoef(c,l,3);d2=detcoef(c,l,2);d1=detcoef(c,l,1); %====================================%绘出各系数的图形subplot(6,2,3);plot(a5);Ylabel("a5");subplot(6,2,5);plot(a4);Ylabel("a4");subplot(6,2,7);plot(a3);Ylabel("a3");subplot(6,2,9);plot(a2);Ylabel("a2");subplot(6,2,11);plot(a1);Ylabel("a1");subplot(6,2,4);plot(d5);Ylabel("d5");subplot(6,2,6);plot(d4);Ylabel("d4");subplot(6,2,6);plot(d3);Ylabel("d3");subplot(6,2,8);plot(d2);Ylabel("d2");%====================================%重构信号ss1=waverec(c,l,"db1");subplot(5,2,9);plot(s1);Ylabel("s1");%====================================%下面用小波‘coif3"重复上述过程[c,l]=wavedec(s,3,"coif3");a3=appcoef(c,l,"coif3",3);d3=detcoef(c,l,3);d2=detcoef(c,l,2);d1=detcoef(c,l,1);subplot(5,2,2);plot(a3);Ylabel("a3");subplot(5,2,4);plot(d3);Ylabel("d3");subplot(5,2,6);plot(d2);Ylabel("d2");subplot(5,2,8);plot(d1);Ylabel("d1");s2=waverec(c,l,"coif3");subplot(5,2,10);plot(s2);Ylabel("s2");2023-07-19 21:33:571
morlet小波函数进行4层分解,在运行时出现错误,到底哪里出错了,应该怎么修改呢。
没细看,不过最明显的错误是wavedec函数是做DWT的,而Morlet小波是不具有有限冲激响应滤波器和尺度方程的小波,它是没法做DWT的,它只能做CWT或是用它的复数形式CMorlet小波做CCWT,所以是wavedec函数不能使用"morl"小波基的问题,换其它7种能做DWT的小波基试试吧!另外,你那语句是做3层分解的,不是4层。2023-07-19 21:34:041
matlab小波分析
相关工具包没有安装,我的就没啥事可以得到以下WAVEDEC Multi-level 1-D wavelet decomposition. WAVEDEC performs a multilevel 1-D wavelet analysis using either a specific wavelet "wname" or a specific set of wavelet decomposition filters (see WFILTERS). [C,L] = WAVEDEC(X,N,"wname") returns the wavelet decomposition of the signal X at level N, using "wname". N must be a strictly positive integer (see WMAXLEV). The output decomposition structure contains the wavelet decomposition vector C and the bookkeeping vector L. For [C,L] = WAVEDEC(X,N,Lo_D,Hi_D), Lo_D is the decomposition low-pass filter and Hi_D is the decomposition high-pass filter. The structure is organized as: C = [app. coef.(N)|det. coef.(N)|... |det. coef.(1)] L(1) = length of app. coef.(N) L(i) = length of det. coef.(N-i+2) for i = 2,...,N+1 L(N+2) = length(X). See also dwt, waveinfo, waverec, wfilters, wmaxlev. Reference page in Help browser doc wavedec你可以重装的全的或者下个小波的工具包set path设置下路径就行了2023-07-19 21:34:114
求一个关于matlab的基于小波变换的图像增强代码
以下是一个基于小波变换的 MATLAB 图像增强代码示例:% 读入原始图像I = imread("lena.png");% 将图像转换为灰度图像if size(I, 3) == 3I = rgb2gray(I);end% 对图像进行小波变换[C, S] = wavedec2(I, 2, "db4");% 提取小波系数H = wrcoef2("h", C, S, "db4", 1);V = wrcoef2("v", C, S, "db4", 1);D = wrcoef2("d", C, S, "db4", 1);% 将水平、垂直、对角小波系数合并W = cat(3, H, V, D);% 对小波系数进行增强for i = 1:3W(:, :, i) = adapthisteq(W(:, :, i), "NumTiles", [8 8], "ClipLimit", 0.005);end% 将增强后的小波系数合并I_enhanced = waverec2(W, S, "db4");% 显示原始图像和增强后的图像subplot(1, 2, 1); imshow(I); title("原始图像");subplot(1, 2, 2); imshow(I_enhanced); title("增强后的图像");这段代码读入一个图像,将其转换为灰度图像,进行小波变换,并提取出水平、垂直和对角小波系数。然后,对这些小波系数进行直方图均衡化增强,并将增强后的小波系数合并。最后,使用小波反变换将增强后的小波系数合成为增强后的图像,并将原始图像和增强后的图像显示在同一窗口中。注意,这只是一个基本示例,可以根据需要进行修改和调整。2023-07-19 21:34:192
matlab问题
【原始代码】[c, s] = wavedec(x, lev, wname);【修改为】[c, s] = wavedec2(x, lev, wname);【原因】你用1维小波还是2维小波?因为是图片,所以应该用2维。就这么简单。qihongshao@163.com免费解答。2023-07-19 21:34:341
小波变换图像处理
生活中需要对一些图像进行处理,比如压缩,去噪,图像增强,图像锐化与钝化,图像融合,图像的分解等,以便对于图像的成分,边缘等细节信息有更加深刻的认识,小波分析由于其固有的时频特性,既可以对图像进行时域分析,也可以对图像进行频率分析,这使得小波分析在图像处理中得到了广泛的应用,本节对其中一些图像处理功能及函数进行讲解:wavedec2函数用于对图像进行二维小波分解,其函数调用格式如下:[c,l]=wavedec2(X,n,"wname");其中,X表示原始图像,n表示分解层数,wname表示小波函数,c表示各层系数,l表示各层系数对应的长度ddencmp用于得到全局阀值,其调用格式如下:[thr,sorh,keepapp]=ddencmp(‘cmp","wp",X);[thr,sorh,keepapp]=ddencmp(‘cmp","wv",X);其中cmp表示压缩,wp表示小波包,wv表示小波,X表示原始信号,thr表示阀值,sorh表示阀值类型,s表示软阀值,h表示硬阀值,keepapp=1表示保持近似系数不变wdencmp用于对数据或图像进行阀值去噪或压缩,其调用格式如下:[xcomp,c1,l1,perf0,perfl2]=wdencmp(‘gbl",c,l,"wname",n,thr,sorh,keepapp);glb表示利用全局阀值,perf0表示恢复比,perfl2表示压缩比示例:利用二维小波对图像进行压缩编写对应的m文件如下: clc; load woman; subplot(1,2,1) imshow(X,map); title("原始图像"); [c,l]=wavedec2(X,3,"sym4");%%获取全局阀值%% [thr,sorh,keepapp]=ddencmp("cmp","wp",X); [xcmp,c1,l1,perf0,perfl2]=wdencmp("gbl",c,l,"sym4",3,thr,sorh,keepapp); subplot(1,2,2) imshow(xcmp,map); title("压缩后图片");程序运行结果如下图:小波变换用与图像去噪,噪声会影响图像处理的输入,采集,处理的各个环节及输出结果等全过程,因此对于图像的噪声处理是一个不可忽略的重要的问题,去噪已经成为图像处理中不可或缺的一部分示例:对图像进行二维小波去噪编写对应的m文件如下: load julia;%%产生噪声信号%% init=3718025452; rand("seed",init); xnoise=X+8*rand(size(X)); colormap(map); subplot(1,3,1) imshow(X,map); title("原始信号") subplot(1,3,2) imshow(xnoise,map); title("含有噪声的信号");%%获取全局阀值%% [thr,sorh,keepapp]=ddencmp("den","wp",xnoise); [xden,c1,l1]=wdencmp("gbl",xnoise,"sym4",3,thr,sorh,keepapp); subplot(1,3,3) imshow(xden,map); title("去除噪声后信号");程序运行结果如下图:小波分析用于图像增强,图像增强是对图像进行一定处理,使图像比原图更加清晰,视觉效果更好。示例:利用小波分析对图像进行增强编写对应的m文件如下: clc; load facets; subplot(1,2,1) imshow(X,map); title("原始信号"); [c,l]=wavedec2(X,3,"sym4"); sizec=size(c); fori=1:sizec(2) if(c(i)>250) c(i)=2*c(i); else c(i)=0.5*c(i); end end y=waverec2(c,l,"sym4"); subplot(1,2,2) imshow(y,map); title("增强图像");程序运行结果如下图:图像钝化图像的钝化可以在时域中,也可以在频域中,在时域中处理较为简单,只需要加一个平滑滤波器,使图像中每个点与其邻点做平滑处理即可,在此主要说明图像钝化在频域中的处理。图像钝化是为了突出低频信息,弱化高频信息。示例:对图像进行频域钝化处理,编写对应的m文件如下: load chess; subplot(1,2,1) imshow(X,map); title("原始图像"); [c,l]=wavedec2(X,3,"db4"); sizec=size(c); fori=1:sizec(2) if(c(i)>280) c(i)=c(i)*2; else c(i)=c(i)*0.5; end end y=waverec2(c,l,"db4"); subplot(1,2,2) imshow(y,map); title("采用小波方法钝化图像");程序运行结果如下图:图像锐化,与图像钝化刚好相反,是为了突出高频信息,弱化低频信息,从快速变化的成分中分离出系统边界成分,以便进一步识别或者分割等操作。示例:对图像进行锐化处理编写对应的m文件如下: load chess; subplot(1,2,1) imshow(X,map); title("原始图像"); [c,l]=wavedec2(X,3,"db5"); sizec=size(c);%%突出高频信息,弱化低频信息%% fori=1:sizec(2) if(abs(c(i))<280) c(i)=c(i)*2; else c(i)=c(i)*0.5; end end y=waverec2(c,l,"db5"); subplot(1,2,2) imshow(y,map); title("采用小波方法锐化图像");程序运行结果如下图:小波分析用于图像融合图像融合是将同一图像的两个部分或者不同图像合成一张图,以便合成之后的图形比原来更容易理解。示例:利用二维小波变换将两幅图像融合在一起编写对应的m文件如下: clear all; load bust; X1=X; map1=map; load woman; X2=X; map2=map; subplot(1,3,1) imshow(X1,map1); title("第一幅图像"); subplot(1,3,2) imshow(X2,map2); title("第二幅图像");%%对第二幅图形低频部分和高频部分进行处理%% fori=1:256 forj=1:256 if(X2(i,j)>120) X2(i,j)=X2(i,j)*2; else X2(i,j)=X2(i,j)*0.5; end end end [c1,l1]=wavedec2(X1,3,"sym4"); [c2,l2]=wavedec2(X2,3,"sym4");%%对图像进行融合%% c=c1+c2;%%减少图像的亮度%% c=c*0.5; y=waverec2(c,l1,"sym4"); subplot(1,3,3) imshow(y,map2); title("融合后图像");程序运行结果如下图:小波分析用于图像分解对图像分解的目地在于可以更好的观察图像的细节,对图像做出更好的判断,swt2函数用于对图像进行分解,其调用格式如下:[sa,sh,sv,sd]=swt2(X,N,"wname");其中sa,sh,sv,sd分别表示近似系数,水平系数,竖直系数,对角系数,x分解图像,N分解的层数,wname表示小波基名称示例:对图像进行分解编写对应的m文件如下: clear all; load woman; [sa,sh,sv,sd]=swt2(X,3,"db3"); s=1; fori=1:3 subplot(3,4,s) image(wcodemat(sa(:,:,i),192)); title(["第",num2str(i),"层近似系数"]); subplot(3,4,s+1) image(wcodemat(sh(:,:,i),192)); title(["第",num2str(i),"层水平系数"]); subplot(3,4,s+2) image(wcodemat(sv(:,:,i),192)); title(["第",num2str(i),"层竖直系数"]); subplot(3,4,s+3) image(wcodemat(sd(:,:,i),192)); title(["第",num2str(i),"层对角系数"]); s=s+4; end程序运行结果如下图:2023-07-19 21:34:491
matlab 波形如何去噪
根据噪音的特征,有两种主要的滤噪信号处理技术:频率域和时空域(time-space domain methods)。如果噪音和有效信号在频率域上具有不同的区域,那么通常使用频率域滤噪方法,比如低通滤波、带通滤波等等。另外一种,如果噪音分布在整个频率域范围内,那么通过常规的选择频率带宽的方法就不能有效的过滤噪音,instead,一种基于噪音统计特征的状态空间方法被使用,这种在时间域上的过滤设计的例子有:Wiener filter, Kalman filter, Savitzky-Golay filter等等。[c,l]=wavedec(s,3,"db1");[thr,sorh,keepapp]=ddencmp("den","wv",s);s2=wdencmp("gbl",c,l,"db1",3,thr,sorh,keepapp);%默认阈值去噪 db1,是yi,不是L;gbl,是L,不是yi[c,l]=wavedec(s,3,"db1");ca3=appcoef(c,l,"db1",3);cd3=detcoef(c,l,3);cd2=detcoef(c,l,2);cd1=detcoef(c,l,1);cdd3=zeros(1,length(cd3));cdd2=zeros(1,length(cd2));cdd1=zeros(1,length(cd1));c1=[ca3 cdd3 cdd2 cdd1];s1=waverec(c1,l,"db1");2023-07-19 21:34:582
可以分享一下基于emd的小波去噪程序吗?谢谢啦。
供参考: lev=5; [c,l]=wavedec(x,lev,wname); sigma=wnoisest(c,l,1); alpha=2; thr1=wbmpen(c,l,sigma,alpha) [thr2,nkeep]=wdcbm(c,l,alpha) xd1=wdencmp("gbl",c,l,wname,lev,thr1,"s",1); [xd2,cxd,lxd,perf0,perfl2]=wdencmp("lvd",c,l,wname,lev,thr2,"h"); [thr,sorh,keepapp]=ddencmp("den","wv",x) xd3=wdencmp("gbl",c,l,wname,lev,thr,"s",1); subplot(411);plot(x);title("原始信号","fontsize",12); subplot(412);plot(xd1);title("使用penalty阈值降噪后信号","fontsize",12); subplot(413);plot(xd2);title("使用Birge-Massart阈值降噪后信号","fontsize",12); subplot(414);plot(xd3);title("使用缺省阈值降噪后信号","fontsize",12);s=[-1.58 0.42 0.46 0.78 -0.49 0.59 -1.3 -1.42 -0.16 -1.47 -1.35 0.36 -0.44 -0.14 1 -0.5 -0.2 -0.06 -0.6 0.42 -1.52 0.51 0.76 -1.5 0.16 -1.29 -0.65 -1.48 0.6 -1.65 -0.55]; [C,L]=wavedec(s,1,"db3"); ca1=wrcoef("a",C,L,"db3",1); x1=ca1 ;[C,L]=wavedec(s,2,"db3"); ca2=wrcoef("a",C,L,"db3",2); x2=ca2 ;[C,L]=wavedec(s,3,"db3"); ca3=wrcoef("a",C,L,"db3",3); x3=ca3 ;[C,L]=wavedec(s,4,"db3"); ca4=wrcoef("a",C,L,"db3",4); x4=ca4 ;cg = wrcoef("a",C,L,"sym5",1); x5=cg;p=1:31; subplot(6,1,1);plot(p,s);ylabel("s"); subplot(6,1,2);plot(p,x1);ylabel("ca1"); subplot(6,1,3);plot(p,x2);ylabel("ca2"); subplot(6,1,4);plot(p,x3);ylabel("ca3"); subplot(6,1,5);plot(p,x4);ylabel("ca4") subplot(6,1,6);plot(p,x5);ylabel("ca5") %加入的重构,是不是你要的?2023-07-19 21:35:051
揭阳东莞证券推荐的股票怎么样啊?
说推股票推得好的一般是骗子公司,如果股票抓得准的话干脆自己炒得了,还拉客户干嘛?投资靠自己,别去相信这些谣言~~~ 在新浪财经上看到的,你可以看看了解下。 东莞证券炒股账面巨亏 锦龙股份东莞控股遭横祸http://www.sina.com.cn 2010年06月17日 02:28 上海证券报 ⊙记者 赵一蕙 ○编辑 裘海亮 因媒体报道东莞证券投资东方集团(5.63,-0.01,-0.18%)的大额浮亏一事,东莞证券的两股东锦龙股份(17.48,-0.27,-1.52%)、东莞控股(5.68,0.00,0.00%)今日发布了核实公告。其中不仅承认了东莞证券一季度末因持有东方集团约5784万股导致目前浮亏8953万元的事实,锦龙股份因此将今年上半年预计预告由原来的同比增长100%至150%降为增幅小于50%,而东莞控股也被拖累浮亏1790万元。 东莞证券的这笔投资其实在东方集团今年一季报中已经披露,而近期有公开报道指出东莞证券这一笔投资产生近亿元的浮亏。据公告,东莞证券截至3月31日持有东方集团5783.95万股,为第一大流通股股东。 今日,分别持有东莞证券40%和20%股份的锦龙股份和东莞控股双双发布了核实公告,均对东莞证券重仓东方集团一事予以证实,对比东方集团6月9日的收盘价,东莞证券的浮亏约为8953万元。 这足以影响到锦龙股份今年上半年的业绩。公司今日称,截至6月9日收盘价,按照40%持股应当承担的东方集团浮亏为3581万元,而根据东莞证券今年前5月经营情况,公司预计上半年盈利由原来的同比增长100%至150%调整为0%至50%。 今年一季度,锦龙股份实现的净利润已达到5576万元。值得一提的是,之所以预计上半年净利润增长100%至150%,和公司持股东莞证券密不可分。东莞证券40%股权是去年6月过户至锦龙股份名下,而今年公司可分享到东莞证券1至6月经营带来的投资收益,由此测算出上半年业绩预期。但无奈东莞证券巨额浮亏,锦龙股份的业绩预期也只得下调。 东莞控股今日也披露,公司按照20%比例对应承担东莞证券投资东方集团的浮亏约为1790万元,对公司今年上半年的经营业绩无重大影响。2023-07-19 21:30:294
急!!求《沧浪诗话·考证》中一段翻译!!
只有杜甫和李白比其他人更优厚,诗中一共说李白的有十四处,甚至说“世人皆欲杀,吾意独怜才。醉眠秋共被,携手日同行。三夜频梦君,情亲见君意。”作者的感情可以想象,躲在书斋中悠闲地看书议论两人的名字已经这么的相近,不能没有相互顾忌的,是因为用庸俗的见解来揣测贤哲的心思,所以我不能不解释2023-07-19 21:30:321
电影《神都龙王》有没有那只巨型海怪?
那巨型怪兽只是鳐鱼而已,鳐鱼通常是可以长到很大的,但没有电影中的那么夸张。因为《狄仁杰之神都龙王》本来就是带有魔幻色彩的电影,出现这种巨型怪兽也在常理之中。《狄仁杰之神都龙王》剧情简介:唐高宗末年,高宗与武则天力排众议出兵攻打敌国,岂料舰队出海遭遇事故损失惨重。年少狄仁杰初到洛阳便卷入掳掠花魁银睿姬一案,几经破折解救银睿姬并获得大理寺卿尉迟真金信任,携尉迟与沙陀忠一同查办龙王案,而睿姬昔日情郎元镇则成为破案关键。与此同时一些有关皇族的安危的阴谋接连而至,洛阳城陷入一片危机四伏中。扩展资料:主要角色:1、狄仁杰21岁,刚刚踏入官场,前往大理寺报到任职时,阻止了一群强盗抢掳花魁,意外卷入了水怪劫掳案。后凭借唇读术、狄式推理等出众的专业技能,获得了皇后武则天的信任,委以钦差大臣重任彻查龙王案。而后联合大理寺卿尉迟真金和狱医沙陀忠解开了蛊毒之谜,共同大破龙王案。获得皇帝御赐亢龙锏。2、尉迟真金大理寺卿,有西域血统,拥有红发碧眼。不仅办案得力,而且武功盖世,可谓唐朝第一打架高手。与狄仁杰的关系微妙,既赏识他的才智,也同为官场竞争对手。在龙王案中,两人一智一勇联手合作,加上沙陀忠的辅助,终于令龙王案水落石出,而尉迟真金也成为神探狄仁杰的最佳拍档。2023-07-19 21:30:381
严羽创作《沧浪诗话》的动机主要是什么?
严羽创作《沧浪诗话》的动机主要是不满北宋以来诗坛的种种流弊,他希望构建一个新的诗学体系,规范诗歌创作的原则,从而为学诗的人指明方向。2023-07-19 21:30:381
磁生电原理
磁生电原理是指当磁场与导体相互作用时,会在导体中产生电流的现象1.磁场的产生与基本概念:磁场是由带电物体运动所产生的,可以通过电流通过导线或磁铁的方式来产生;磁场是由磁力线组成的,具有方向性和大小。;磁场的强弱可以通过磁感应强度B来表示,单位是特斯拉(T)。2.法拉第电磁感应定律:法拉第电磁感应定律是描述磁场与导体相互作用产生感应电动势的定律;当导体相对于磁场发生运动,或者磁场发生变化时,导体中就会产生感应电动势;感应电动势的大小与磁感应强度的变化率成正比,方向由右手法则确定。3.感应电动势和电流的产生:当导体中产生感应电动势时,如果导体是闭合回路,感应电动势会驱动电荷在导体内移动形成电流;导体内的自由电子会受到力的作用,在导体内移动,并产生电流;电流的大小与感应电动势和导体的阻抗有关。4.磁生电原理的应用:磁生电原理是电力和电子技术中的基础原理,广泛应用于变压器、发电机、电动机等电磁设备的工作原理;磁生电原理也被应用于感应加热、感应焊接等工业领域中;感应电动势的产生还可以用于测量磁场的强度和方向,如霍尔效应传感器等。5.磁生电原理的局限性:磁生电原理只适用于感应电动势的产生,不能直接将磁场转换为电能;磁生电原理中的能量转化效率受到许多因素的影响,如磁场的强度、导体的材料和形状等。磁生电原理是指当磁场与导体相互作用时,在导体中会产生感应电动势,驱动电荷在导体内移动形成电流的现象。这一原理是电力和电子技术中的基础,广泛应用于各种电磁设备的工作原理以及工业领域中的感应加热、感应焊接等。然而,磁生电原理只能实现从磁场到电能的转换,并且其能量转化效率受到多种因素的影响。2023-07-19 21:30:441
男朋友说我是个阴阳人是什么意思?
不是男人,也不是女人,就叫阴阳人。2023-07-19 21:30:458
沧浪诗话诗辨一文作者借用哪家学说论诗
江西诗派。《沧浪诗话》是南宋诗论家严羽创作的诗歌理论著作,大约在绍定前至迟在淳祐前成书,作者写书借用了江西诗派的写作方法,形成自然流畅的语言,成为千古好书。2023-07-19 21:30:451
张海梅多少岁了?锦龙股份副总经理
张海梅:女,中国国籍,无永久境外居留权,1967年12月出生,大专学历。曾任广东金泰集团财务副经理、清远冠富化纤厂有限公司财务部副经理;历任锦龙股份财务部副经理、经理,锦龙股份总经理助理。现任锦龙股份董事、财务总监,本公司监事。2023-07-19 21:30:481
ui设计是什么?
UI 设计(或称界面设计)是指对软件的人机交互、操作逻辑、界面美观的整体设计,也叫界面设计。UI 设计分为实体 UI 和虚拟UI,互联网说的 UI 设计是虚拟 UI, UI 即User Interface(用户界面)的简称。UI 设计师的职能大体包括三方面:一是图形设计,软件产品的产品“外形”设计。二是交互设计,主要在于设计软件的操作流程、树状结构、操作规范等。三是用户测试/研究,这里所谓的“测试”,其目标恰在于测试交互设计的合理性及图形设计的美观性,主要通过以目标用户问卷的形式衡量 UI 设计的合理性。UI设计目前的前景还是很不错的,很多企业都缺少 UI设计师。而且可以看到的是,现在社会的发展,更多的智能机和智能机器人研发出现,这些都离不开UI 设计师。所以说 UI 设计的是很有前途的,是不会失业的。而且 UI 设计门槛不高,要入门也不难的。从工作内容来说,UI 设计在当前的互联网领域、科技领域可以说无处不在,好的 UI 设计能够明显提升用户的使用体验,从而给产品带来更多的附加值,所以UI 设计对于互联网产品是非常重要的。目前 UT 设计通常分为两个大的工作方向,一个是交互设计,另一个是视觉设计。总的来说,UI 设计相比较于编程而言,还是非常适合大众学的并且就业前景很广阔。学完 UI 设计,能获得一份稳定而又不失乐趣的工作,同时有利于追求更高品质的生活,在艺术领域可以获得更多的启迪。2023-07-19 21:30:258
烟圈怎么吐
在大家的生活中有很多人都抽烟,而在抽烟的时候能够吐出一连串的成形圆圈是感觉非常的炫酷的,所以很多人都想学怎么吐烟圈,那么吸烟到底怎么吐烟圈呢?接下来一起了解一下吧! 方法一: 首先长抽一口烟,吸入足够的烟雾,注意不要吸入肺中,而是要让烟雾停留在喉咙处;然后口型成O字型,O型越标准,吐出的烟圈越标准;最后用舌头轻轻弹下牙,将烟雾推出口外。 用舌头弹下牙,把舌头往下弯,把烟给顶出来就可以了。至于推,一般用力大的话,烟圈出来持续的时间比较长。但是也不要力气太大,太大的话可能就吐出一口浓烟。 方法二: 1、长吸一口电子烟,把蒸汽烟雾停留在喉咙处。 2、口型成O字型,O型越标准,吐出的烟圈越标准。 3、用手指轻点腮帮子,即可把烟圈推出口腔。这样烟圈就会随着你按压的节奏一个一个的出来了。 吐烟圈的注意事项 尽量不要在人多的地方吐烟圈,一是会打扰到别人,二是人流的走动会加速空气流动,很难形成烟圈。 吐烟圈时把舌头放在口腔底部,不要让舌头阻碍了烟圈的旋转。2023-07-19 21:30:231
锦龙公寓是什么
金丽广场位于柳州路近宜山路(步行6分钟到地铁9号线,和市六仅一路之隔)小区有三幢组成137号都是高层是以前的外销房,品质不错,而且是户户全明,24小时门洞保安缺点房型不是很方正但地处田林中心让其周边的生活配套相当成熟完善好又多步行10分钟内即可到达且受到徐家汇商圈的辐射附近有宜山路轻轨站交通方便快捷周边的生活设施等也相当的完善成熟本案的物业也相当的优秀 基本信息小区地址:柳州路600弄物业类型:公寓开发商:上海集伟投资发展有限公司物业费:1块物业公司:上海星远物业有限公司总户数:192户停车位:78绿化率:30%容积率:2.50总建筑面积:5000平方米房价走势锦龙公寓10月均价43453元/平米,比9月上涨3.13%田林板块10月均价41429元/平米,比9月上涨1.31%周边配套学校华东理工大学游泳池、中国大学生体育协会乒乓球分会、华东理工大学-网球馆、华东理工大学-体育馆、中国大学生体育协会乒乓球分会、徐汇区老年大学凌云校区、上海市梅园中学、上海市梅园中学、上海华东理工大学华天生物科技有限公司、梅陇幼儿园;交通虹梅南梅陇西路(梅周线)、虹梅南路梅陇路(50;50;131;131;162b;162b;218;218;703b;703b;725;725;729;731;735;735;755;755;755b;755b;804;1202;梅周线;徐梅线;徐梅线)、梅陇镇(326;804)、虹梅南路梅陇路(下客站)(1202)、梅陇路虹梅南路(326;731)、锦江乐园站()、锦江乐园站出入口(地铁1号线)(上海市徐汇区)、梅陇汽车站(南梅线;南梅线;石梅线;石梅线;松梅专线;松梅专线)、上海新西南汽车站(沪金线;沪金线;卫梅线;卫梅线)、梅陇(松梅线;松梅线);购物联华超市梅陇店、联华超市梅陇店、瀛园贸易商行、好德便利NO.281、好德便利NO.331、快客凌云新村店、联华快客便利虹陇店、伍缘折扣NO.0210、好德便利NO.790、农工商超市梅陇店;褚先忠私立中医诊所、梅陇镇卫生院、梅陇镇社区卫生服务中心门诊部、凌云街道社区卫生服务中心梅陇三村社区卫生站、新达口腔、鹏峰宠物诊所、莲花齿科、红红火火宠物店、古美社区卫生服务中心成亿服务站、刘海梅口腔诊所;美食兜乐茶饮(梅陇路店)、张鼎鸡鸡粥店徐汇分店、卡莲娜西饼、豪鸡汇、台台缘美食坊、静安面包房、久久丫鸭颈王(凌云路店)、老木子鸡广式烧烤、老天母卤味(凌云路店)、哆_咪;银行中国银行(梅陇支行)、中国银行股份有限公司上海市梅陇支行、中行梅陇支行、农行凌云路储蓄所、农行梅陇支行、上海农商银行梅陇支行、梅陇农村信用合作社、上海农商银行梅陇支行、中行莲花南路支行、邮政储蓄银行古美路支行;2023-07-19 21:30:201
狄仁杰之神都龙王 那个巨型怪兽龙王是怎么来的呢? 不是破案电影吗? 做么变成西游记了??
那巨型怪兽只是鳐鱼而已,鳐鱼通常是可以长到很大的,但没有电影中的那么夸张。因为《狄仁杰之神都龙王》本来就是带有魔幻色彩的电影,出现这种巨型怪兽也在常理之中。《狄仁杰之神都龙王》剧情简介:唐高宗末年,高宗与武则天力排众议出兵攻打敌国,岂料舰队出海遭遇事故损失惨重。年少狄仁杰初到洛阳便卷入掳掠花魁银睿姬一案,几经破折解救银睿姬并获得大理寺卿尉迟真金信任,携尉迟与沙陀忠一同查办龙王案,而睿姬昔日情郎元镇则成为破案关键。与此同时一些有关皇族的安危的阴谋接连而至,洛阳城陷入一片危机四伏中。扩展资料:主要角色:1、狄仁杰21岁,刚刚踏入官场,前往大理寺报到任职时,阻止了一群强盗抢掳花魁,意外卷入了水怪劫掳案。后凭借唇读术、狄式推理等出众的专业技能,获得了皇后武则天的信任,委以钦差大臣重任彻查龙王案。而后联合大理寺卿尉迟真金和狱医沙陀忠解开了蛊毒之谜,共同大破龙王案。获得皇帝御赐亢龙锏。2、尉迟真金大理寺卿,有西域血统,拥有红发碧眼。不仅办案得力,而且武功盖世,可谓唐朝第一打架高手。与狄仁杰的关系微妙,既赏识他的才智,也同为官场竞争对手。在龙王案中,两人一智一勇联手合作,加上沙陀忠的辅助,终于令龙王案水落石出,而尉迟真金也成为神探狄仁杰的最佳拍档。2023-07-19 21:30:141
国际天然气降价哪些股票收益多少
国际天然气降价股票受益:sh600167联美控股 sh600168武汉控股 sh600187国中水务 sh600283钱江水利 sh600323南海发展 sh600333长春燃气 sh600461洪城水业 sh600635大众公用 sh600649城投控股 sh600719大连热电 sh600758红阳能源 sh600982宁波热电 sh601139深圳燃气 sh601158重庆水务 sh601199江南水务 sz000593大通燃气 sz000685中山公用 sz000692惠天热电 sz000695滨海能源 sz000712锦龙股份 sz002267陕天然气2023-07-19 21:30:142
宋人严羽在沧浪诗话中以什么概括高适诗的风格
宋人严羽在《沧浪诗话》中以“悲壮”概括高适诗的风格。他的七言古诗尤其写得气势奔放,情感激荡,音韵铿锵。今存高常侍集十卷,收诗240余首。宋人严羽在《沧浪诗话》中以“悲壮”概括高适诗的风格。其诗笔力雄健,气势奔放,洋溢着盛唐时期所特有的奋发进取、蓬勃向上的时代精神。2023-07-19 21:30:141
泰国特产有哪些可以带回国?
泰国的特产几乎都可以带回国,除了新鲜的水果以外。1、各种果干、果肉类和燕窝。泰国有很多零食都是很好吃的,除了大家熟悉的榴莲片、芒果干以外,还有腰果、杏仁、椰子片、即食燕窝、鱿鱼丝、海苔等等。2、调料泰国的调料是非常正宗的东南亚风味,在国内很难买到正宗的咖喱,所以可以带一些泰国的香料,比如红咖喱、绿咖喱、黄咖喱、冬阴功汤料包、芥末汁、泰式沙拉酱以及泰式椰浆等等。3、药物泰国是有规定,不可以贩卖假药的。所以泰国当地的药全部都是真的,而且用料很好,但是价格也不贵。同样的治疗感冒的药物,它的添加含量比国内要高,所以药物效果会更好。比如五蜈蚣止咳丸、酸痛膏、青草药膏、虎牌膏药以及通鼻粉和驱蚊液等等。4、乳胶枕头乳胶是泰国的一个特色,而且为了方便游客购买,在泰国购买乳胶用品,比如乳胶枕头,乳胶床垫以及乳胶抱枕等等,都是可以在店里直接抽真空以后,快递送到家里的,不需要自己搬上飞机带回来,这是相当方便的。2023-07-19 21:30:1314
阴阳人是什么人
阴阳家是指说话方式奇怪的人。阴阳家是指说话方式奇怪,不轻易说话,没事就爱讽刺别人的人。也指说话做事没有规矩,立场不明或者根本没有立场,要面对的事情一套,背后的事情一套,人一说话就胡说八道,阴阳转换自如的人或机构。游戏炉石里有一个叫鲍勃的NPC,总是在不合适的时候说些香喷喷的话。因为他的话太阴阳,而包是阴,鲍勃是阳,鲍勃叫阴阳,意思是说他讲阴阳。2023-07-19 21:30:124