How can I display a complex image matrix in Matlab?

48 次查看(过去 30 天)
Hi, I have two complex image matrices of size 1001 x 1001 and I want to display them in Matlab. I tried using the image() and imshow() commands and using the abs, fft and real commands to be able to display them but I keep getting errors. Can somebody help me how can I do this?

回答(3 个)

KSSV
KSSV 2017-2-8
编辑:KSSV 2017-2-8
You can separate the real part and imaginary part using real, imag respectively.
clear all
N = 1001 ;
I = rand(N,N,3) + 1i*rand(N,N,3) ; % some complex random data
image(real(I)) ; % real parts
image(imag(I)) ; % imaginary parts
image(abs(I)) ; % absolute
  1 个评论
Agustin
Agustin 2017-2-8
I tried this example and I get an error with image(abs(I)); The Error message is as follows: Error using image TrueColor CData contains element out of range 0.0 <= value <= 1.0
I also tried it with my image and what I get is a blue image and I don't see the targets that I measured on the radar.

请先登录,再进行评论。


ali alizadeh
ali alizadeh 2022-9-14
Hi dear
try this!
clear all
N=1001
N = 1001
I=rand(N,N,3)+1i*rand(N,N,3);
imshow(I,[])
Warning: Displaying real part of complex input.

John
John 2023-10-20
编辑:John 2023-10-20
AFAIK there's no native support for a pseudo-complex colormap, so I implemented it, here. Usage is simple:
x = randn(100, 100) + i*randn(100, 100);
imagesc(colorize_complex(x));
Applied example (see link for code):

Community Treasure Hunt

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

Start Hunting!

Translated by