Phase Scrambling/Fourier transform of Images?

24 ビュー (過去 30 日間)
Matthew Peoples
Matthew Peoples 2021 年 6 月 1 日
回答済み: Subhadeep Koley 2021 年 6 月 1 日
Hi there - I am trying to Fourier phase scramble an image and I am stuck on getting the image to appear. Upon transforming, imshow() shows a blank image - any idea what I am doing wrong? I've included the code below. Thank you so much.
img_object_path = "Object Image was specified here"
obj_img = imread(img_object_path);
object_fft = fft2(obj_img);
mag = abs(object_fft);
phase = angle(object_fft);
phase = -pi + (pi+pi)*rand(size(phase)); % Between -pi and pi
reconstruct_img = mag * exp(i * phase);
phase_scrambled_img = abs(ifft2(reconstruct_img));
imshow(phase_scrambled_img);

採用された回答

Subhadeep Koley
Subhadeep Koley 2021 年 6 月 1 日
phase_scrambled_img is of type double but its range is beyond [0, 1], therefore use the below syntax so that imshow(_) can scale the display based on the range of pixel values in phase_scrambled_img.
imshow(phase_scrambled_img, []);

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeImage Processing Toolbox についてさらに検索

製品


リリース

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by