Phase Scrambling/Fourier transform of Images?
19 次查看(过去 30 天)
显示 更早的评论
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);
0 个评论
采纳的回答
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 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Image Processing Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!