- 西柚不是西游
-
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);
- u投在线
-
A = imread("u202aimage.bmp");
subplot(2,2,1);
imshow (A);
hold on;
[C, S]=wavedec2(A, 5, "db3" );
subplot(2,2,2);
plot (C);
title("wavelet coeffs" );
hold on;
zoom on;
zoom off;
B=sort(C, 2, "descend" );
subplot(2,2,3);
plot (B);
title("(sorted)");
hold on;
D=log10(B);
subplot(2,2,4);
plot (D);
title("(log10(sorted))");
hold on;
相关推荐
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
小波分解是什么意思?分解后得到的是什么?小波分解后进行重构得到图形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
matlab中swt2函数多尺度分解的图像怎么出现偏移
plot(t,T);tfit=0:24;A=polyfit(t,T,2);Tfit=polyval(A,tfit);hold onplot(tfit,Tfit);polyval(A,12.5)%2023-07-19 21:30:282
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
《沧浪诗话》提出了什么理论?
作者严羽,字仪卿,丹邱、号沧浪逋客,邵武(今福建)人,南宋文学批评家。此书分五类:诗辨、诗体、诗法、诗评、诗证。提出比较系统的诗歌理论,论诗推崇?(绢:?),主张诗的别材、别趣之说,重视诗歌的艺术特点,批评当时诗歌的散文化、议论化。强调“妙悟”和“兴趣”需靠个人心领神会,有脱离现实的倾向。2023-07-19 21:29:271
阴阳人是什么人
阴阳家是指说话方式奇怪的人。阴阳家是指说话方式奇怪,不轻易说话,没事就爱讽刺别人的人。也指说话做事没有规矩,立场不明或者根本没有立场,要面对的事情一套,背后的事情一套,人一说话就胡说八道,阴阳转换自如的人或机构。游戏炉石里有一个叫鲍勃的NPC,总是在不合适的时候说些香喷喷的话。因为他的话太阴阳,而包是阴,鲍勃是阳,鲍勃叫阴阳,意思是说他讲阴阳。2023-07-19 21:29:302
- 这句话有很多版本,如:“法乎其上,则得其中,法乎其中,则得其下。” 《孙子兵法》也云:“求其上,得其中;求其中,得其下,求其下,必败。” 语出唐太宗《帝范》卷四:“取法于上,仅得为中,取法于中,故为其下。” 孔子教育学生的话:“取乎其上,得乎其中;取乎其中,得乎其下;取乎其下,则无所得矣”。 宋末元初时期的诗词评论家严羽在其《沧浪诗话》中曰:“学其上,仅得其中;学其中,斯为下矣。” 由于自古流传下来的有众多版本,所以具体出处不易考证。如果单从学习求知的角度来分析,“学其上者,得其中,学其中者,得其下”这句话说尽了学习之道,也就是说读书学习不能“死”学,如果生搬硬套的话,最多得其形而未得其神,那么即使你读了一部好书,又怎能完全领会其中的精髓呢,就更谈不上把学来的知识灵活应用变成自己的东西了。有句古话说:“尽信书不如无书”,说的也是同样的道理。所以我们学习要辨证地去学,同时更要学会创新,这样社会才能不断发展前进。2023-07-19 21:29:341
阴阳人是什么意思
阴阳人的解释[hermaphrodite] 两性人 详细解释 (1).即 阴阳生 。 《旧唐书·德宗纪下》 :“四月丁丑,以久旱,令阴阳人法术祈雨。” 宋 孟元老 《东京梦华录·娶妇》 :“新妇 下车 子,有阴阳人执斗,内盛谷豆钱菓草节等,咒祝望门而撒。” 《元史·选举志一》 :“ 延祐 初,令阴阳人依儒、医例,於路府州设 教授 员,凡阴阳人皆管辖之,而上属於太史焉。” 参见 “ 阴阳生 ”。 (2).又叫两性人。由于胚胎的畸形发育而形成的具有男性和女性两种 * 官的人。通称二性子。 词语分解 阴的解释 阴 (阴) ī 中国 古代哲学认为宇宙中通贯所有 物质 的两大 对立 面诸一,与“阳” 相对 :阴阳。一阴一阳谓之道。阴差阳错。阴盛阳衰。阴虚生热。 指“ 月亮 ”:太阴(月亮)。阴历。 带负电的:阴电。阴极。阴离子。 阳人的解释 活着的人,阳世的人。《初刻拍案惊奇》卷 十七 :“那 儿子 但听说‘召魂",便道:‘要见爹爹。"只哄他道:‘你是阳人,见不得的。"儿子只得 也罢 了。” 明 屠隆 《修文记·流谤》:“朝报都在乡里抄, 阎罗 也是 阳2023-07-19 21:29:361
磁生电原理是什么?
原理是闭合电路的一部分导体做切割磁感线运动时,在导体上就会产生电流的现象叫电磁感应现象,产生的电流叫做感应电流。发电机便是依据此原理制成。导体的两端接在电流表的两个接线柱上,组成闭合电路,当导体在磁场中向左或向右运动,切割磁力线时,电流表的指针就发生偏转,表明电路中产生了电流。这样产生的电流叫感应电流。发现过程:1831年电学大师法拉第发现了磁能够生电。他找来两根长约62米的铜导线和一根粗长木棍,分别把两根铜导线缠绕在木棍上,铜导线的两端分别与电流计电源相联。然后他把电源开关合上,这时,他似乎感到电流计指针跳动了一下,然后指又回到0点,难道在开关合的瞬时产生了感应电流?法拉第把开关拉掉,准备重复合后再看一次,当开关刚拉开时,他又看到指针跳荡了一下,然后回到0点。他反复把开关拉开、合上,都发现了相同的结果。2023-07-19 21:29:421
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:29:443
言有尽而意无穷 言有穷而情不可终 这句话是什麼意思?
1,言有尽而意无穷意思是:话可以说到头,但是所表达的意思无穷无尽,从而让你得到很大的享受。指诗文含义深刻,令人品味不尽。—出自严羽《沧浪诗话》原句:故其妙处透彻玲珑不可凑泊,如空中之音、相中之色、水中之月、镜中之象,言有尽而意无穷。译文:所以他们诗歌的高妙处透彻玲珑,难以直接把握,好象空中的音响,形貌的色采,水中的月亮,镜中的形象,言有尽而意无穷。2,言有穷而情不可终意思是:话有说完的时候,而哀痛之情却不能终止。—出自《祭十二郎文》原句:呜呼,言有穷而情不可终,汝其知也邪?译文:唉!话有说完的时候,而哀痛之情却不能终止,你知道呢?扩展资料:《沧浪诗话》赏析《沧浪诗话》共分“诗辨”“诗体”“诗法”“诗评”和“考证”五章,合为一卷。“诗辨”阐述理论观点,是整个《诗话》的总纲。“诗体”探讨诗歌的体制、风格和流派;“诗法”研究诗歌的写作方法,“诗评”评论历代诗人诗作,从各个方面展开了基本观点。“考证”对一些诗篇的文字、篇章、写作年代和撰人进行考辨,比较琐碎,偶尔也反映了作者的文学思想。五个部分互有联系,合成一部体系严整的诗歌理论著作,在诗话发展史上是空前的。正由于此,它受到世人的普遍重视。《祭十二郎文》创作背景《祭十二郎文》写于贞元十九年(按《文苑英华》说是写于五月二十六日,应是笔误,因是年六月下旬十二郎还写过信),文章的十二郎是指韩愈的侄子韩老成,“八仙”中著名的韩湘子即是老成之长子。韩愈幼年丧父,靠兄嫂抚养成人。韩愈与其侄十二郎自幼相守,历经患难,感情特别深厚。但成年以后,韩愈四处飘泊,与十二郎很少见面。正当韩愈官运好转,有可能与十二郎相聚的时候,突然传来十二郎去世的噩耗。韩愈尤为悲痛,写下这篇祭文。参考资料:百度百科—《沧浪诗话》百度百科—《祭十二郎文》2023-07-19 21:29:452
最新参股券商概念股有哪些
代码 名称BK0514 参股券商600832 东方明珠000505 珠江控股600896 中海海盛600639 浦东金桥600068 葛洲坝600663 陆家嘴000812 陕西金叶600310 桂东电力000936 华西股份600650 锦江投资600823 世茂股份600016 民生银行000623 吉林敖东600269 赣粤高速600195 中牧股份000652 泰达股份600191 华资实业600676 交运股份600713 南京医药600755 厦门国贸600177 雅戈尔000748 长城信息600615 丰华股份600530 交大昂立000031 中粮地产000900 现代投资600815 厦工股份600754 锦江股份600005 武钢股份000615 湖北金环000027 深圳能源600611 大众交通000897 津滨发展600642 申能股份600106 重庆路桥000736 中房地产600851 海欣股份600261 阳光照明600616 金枫酒业600336 澳柯玛000821 京山轻机600826 兰生股份600064 南京高科600287 江苏舜天600054 黄山旅游600621 华鑫股份000702 正虹科技000953 河池化工000039 中集集团600063 皖维高新000756 新华制药000543 皖能电力600643 爱建股份600278 东方创业000877 天山股份600122 宏图高科600108 亚盛集团600811 东方集团600056 中国医药600881 亚泰集团600249 两面针600884 杉杉股份600839 四川长虹000850 华茂股份600120 浙江东方600121 郑州煤电000596 古井贡酒600739 辽宁成大600266 北京城建600635 大众公用600156 华升股份000712 锦龙股份600292 中电远达2023-07-19 21:29:452
天猫万宝龙旗舰店钢笔是真的吗
天猫万宝龙旗舰店钢笔不是真的。根据相关信息查询可知,在专柜购买带个专柜章,一个专柜章只能转让一两百人民币,而且专柜章并没有什么用。2023-07-19 21:29:241
“阴阳人”是什么意思?
具备男女性生殖器而不完全发育的人为阴阳人。 确定是阴阳人,除了要检查内外生殖器外,还必须做内分泌和染色体检查,以确定是男性假两性畸形,还是女性假两性畸形。 一旦诊断明确,应尽早进行手术治疗和激素治疗,从而减少畸形给患者带来的痛苦。 真阴阳人是不可能生育的。 假阴阳人畸形严重也不能生育,此类人的睾丸不能产生正常数量及质量的精子,也不能使卵子受精。 个别畸形较轻,经手术整复后,有希望恢复生育能力。 “阴阳人”作为人类一种特殊的现象,它的出现是一种什么样的状态,是否可以医治,应该怎样医治? 首先,“阴阳人”分两种,一种是真阴阳人,一种是假阴阳人。真阴阳人他(她)的体内有xy和xx两组染色体,具备男女两种生理功能;假阴阳人的体内则只有一组染色体,虽然其体外有另一性别的特征,但是不具备男女两种生理功能。 对于真、假两种阴阳人都可以医治,但是应该及早发现和治疗。特别是真阴阳人,及早发现后,医生可以根据其生理情况,选择一种发育较好的生理功能进行治疗,将其多余的器官去掉,或将其不完备的器官进行修复。这样,有利于他(她)的发育和成长,让其享受一个正常人的生活和权利。2023-07-19 21:29:211
以禅喻诗的《沧浪诗话》 诗词对联 佛教网
以禅喻诗的《沧浪诗话》张晶第一节方法论意义:以禅喻诗“以禅喻诗”,不是孤立的文论现象,而是有着广泛基础的。宋代诗人、诗论家借参禅来谈诗的大有人在。前面举过的吴可、龚相的《学诗诗》以及韩驹的《赠赵伯鱼》诗都是“以禅喻诗”的典型例子。苏轼以参禅比拟对诗作审美鉴赏,“暂借好诗消永夜,每逢佳处辄参禅”(《夜直玉堂携李之仪端叔诗百余首读至夜半书其后》)。南宋赵蕃也有论诗绝句三首:“学诗浑似学参禅,识取初年与暮年。巧匠曷能雕朽木,燎原宁复死灰燃。”“学诗浑似学参禅,要保心传与耳传。秋菊春兰宁易地,清风明月本同天。”“学诗浑似学参禅,束缚宁论句与联。四海九州何历历,千秋万岁孰传传”。从这些诗篇中可以看到“以禅喻诗”在宋代是一种并不罕见的论诗方法,这与当时士大夫们的禅悦之风是有密切联系的。但是,一般的“以禅喻诗”还没有上升为系统的理论。南宋严羽集“以禅喻诗”之大成,并以明确的理论意识使用这种方法。在《诗辨》篇中,严羽宣称“故予不自量度,辄定诗之宗旨,且借禅以为喻,推原汉魏以来,而截然谓当以盛唐为法。虽获罪于世之君子,不辞也。”作者在这里明确地提示出自己论诗的方法。在《答吴景仙书》中,他又直接表明自己的论诗方法曰:“以禅喻诗,莫此亲切”。可见,严羽是在高度自觉的前提下运用“以禅喻诗”的方法的。之所以严羽集“以禅喻诗”之大成,在于他有意识地借禅学范畴,以建立自己的诗学思想体系。尽管在他借用禅的术语时发生了一些舛误,因而授人以口实,但他建构自己诗学体系的目的基本是实现了。“以禅喻诗”的系统性,主要表现在《诗辨》篇中。如第四节云:2023-07-19 21:29:181
a股上市的证券公司有哪些
股票市场类型是A股,所属同花顺行业是证券公司的股票有(排名不分先后):财达证券、中金公司、国通证券、中泰证券、中银证券、红塔证券、华林证券、长城证券、天风证券、中信证券、天风证券、中信建投、南京证券、华西证券、财通证券、浙商证券、中国银河、中原证券、华安证券、第一创业、国泰君安、东方证券、申万宏源、国信证券、西部证券、国盛金控、东吴证券、方正证券、山西证券、兴业证券、东方财富、华泰证券、招商证券、光大证券、太平洋、中信证券、西南证券、华创阳安、国金证券、长江证券、国海证券、湘财证券、国元证券、广发证券、锦龙证券、东北证券、哈投证券、海通证券、华鑫股份。如您有证券业务需求,可以登录平安口袋银行APP-金融-股票期货-证券服务了解。温馨提示:1、以上内容仅供参考,不作任何建议。相关产品由对应平台或公司发行与管理,我行不承担产品的投资、兑付和风险管理等责任;2、入市有风险,投资需谨慎。您在做任何投资之前,应确保自己完全明白该产品的投资性质和所涉及的风险,详细了解和谨慎评估产品后,再自身判断是否参与交易。应答时间:2021-12-21,最新业务变化请以平安银行官网公布为准。2023-07-19 21:29:182
1000多的万宝龙蛇钢笔是真的吗
1000多的万宝龙蛇钢笔是真的。万宝龙官方其蛇系列钢笔价格,有800元至4000元不等。且该官网所出手的货物为正品,所以1000多的万宝龙蛇钢笔是真的。2023-07-19 21:29:161
如何把秀米制作好的内容放到微信公众号里面
1、首先,我们需要先登录秀米,登录的方式可以是自己的qq号、微信号或者qq邮箱,都可以。在百度搜索栏里输入“秀米”,然后从官网登录就可以啦!2、然后,利用秀米编辑器进行文章内容的编辑,秀米编辑器模板丰富,排版可以做到美观、条理性清晰。同时,也要将秀米绑定自己的微信公众号。3、用秀米将文章编辑好以后,我们会看到在上方会有一个“对勾”的标志,然后用鼠标点击一下。4、这时,会出现三个选项,如下图所示,我们找到“同步到公众号”的选项,然后用鼠标点击一下,这样在秀米上编辑的文章就会同步到微信公众号上。5、我们在登录自己的微信公众号,然后在主页面的左侧信息栏找到“素材管理”的选项,用鼠标点击一下,就会看到我们在秀米上编辑的文章。6、在主页面也会看到自己在秀米上编辑的文章,然后自己在做一些简单的完善就可以。2023-07-19 21:29:153
狄仁杰神都龙王结局
《狄仁杰之神都龙王》的结局是狄仁杰、沙陀忠、尉迟真金联手在蝙蝠岛击杀东岛首领霍义,返程途中在水中毒杀霍义豢养的海兽“鳖皇”;公子元镇带银睿姬远走他乡。剧情简介:唐高宗末年,高宗(盛鉴饰)与武则天(刘嘉玲饰)力排众议出兵攻打敌国,岂料舰队出海遭遇事故损失惨重。年少狄仁杰(赵又廷饰)初到洛阳便卷入掳掠花魁银睿姬一案,几经破折解救银睿姬(杨颖饰)并获得大理寺卿尉迟真金(冯绍峰饰)信任,携尉迟与沙陀忠(林更新饰)一同查办龙王案,而睿姬昔日情郎元镇(金泛饰)则成为破案关键。与此同时一些有关皇族的安危的阴谋接连而至,洛阳城陷入一片危机四伏中。角色介绍1、狄仁杰演员:赵又廷21岁,刚刚踏入官场,前往大理寺报到任职时,阻止了一群强盗抢掳花魁,意外卷入了水怪劫掳案。后凭借唇读术、狄式推理等出众的专业技能,获得了皇后武则天的信任,委以钦差大臣重任彻查龙王案。而后联合大理寺卿尉迟真金和狱医沙陀忠解开了蛊毒之谜,共同大破龙王案。获得皇帝御赐亢龙锏。2、尉迟真金演员:冯绍峰大理寺卿,有西域血统,拥有红发碧眼。不仅办案得力,而且武功盖世,可谓唐朝第一打架高手。与狄仁杰的关系微妙,既赏识他的才智,也同为官场竞争对手。在龙王案中,两人一智一勇联手合作,加上沙陀忠的辅助,终于令龙王案水落石出,而尉迟真金也成为神探狄仁杰的最佳拍档。2023-07-19 21:29:114
严羽《沧浪诗话》论诗如论禅,汉、魏、晋与盛唐之诗,则第一义也。大历以还之诗,则小乘禅也,已落第二义
这种明显是宗教歧视大乘小乘,临济曹洞只有思想分歧,并无高下之别2023-07-19 21:29:111