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