Help: What are the differences between lwt2 in previous versions and the current version?

4 次查看(过去 30 天)
I saw someone using it in MATLAB 2018a with the syntax [CA,CH,CV,CD]=LWT2(img,'haar');. On the official website, I found that after version 2021 it should be written as [CA,CH,CV,CD]=LWT2(img,Wavelet='haar');.
When I ran [CA,CH,CV,CD]=LWT2(img,Wavelet='haar'); in MATLAB 2024a, the CA I got was a double-type 1x1 matrix, which is a single double value.
However, when I ran [CA,CH,CV,CD]=LWT2(img,'haar'); in MATLAB 2018a, the CA was a double-type matrix of size M/2 by N/2, where M and N are the dimensions of img.
why the two CA results are different?
need your help
Thanks
img
code in 2024a:
img=imread('lake.pgm');
img=im2double(img);
[CA, CH, CV, CD] = lwt2(img,Wavelet='haar');
disp(CA);
code in 2018a
img=imread('lake.pgm');
img=im2double(img);
[CA, CH, CV, CD] = lwt2(img,'haar');
disp(CA);

采纳的回答

Hitesh
Hitesh 2024-10-9
编辑:Hitesh 2024-10-9
Starting with MATLAB R2021b, the syntax for the lwt2function has been updated. Previously, the "lifewave"object was used, but it has now been replaced by the "liftingScheme"object. To obtain CA as a double-type matrix of size M/2 by N/2, where M and N are the dimensions of img, the liftingSchemeobject needs to be passed to the "lwt2"function along with its level.
Kindly refer to the code below:
img=imread('image.bmp');
img=im2double(img);
lScheme = liftingScheme("Wavelet","haar");
[CA, CH, CV, CD] = lwt2(img,LiftingScheme=lScheme,Level=1);
disp(CA);
Hope this clarifies the issue!
  1 个评论
jiang yutong
jiang yutong 2024-10-9
Thank you very much!
I think I have already understood the confusion I had before. I am a beginner in MATLAB, and your explanation has given me a deeper understanding of it!

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Encryption / Cryptography 的更多信息

标签

产品


版本

R2024a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by