MATLAB:将imagesc()RESULT转换为图像

时间:2017-09-29 19:59:02

标签: image matlab

假设我们有灰度图像im

enter image description here

并使用imagesc(im)获取: enter image description here

使用代码:

im = rgb2gray(im2single(imread('tesla.jpg'))); % get image
h = imagesc(log(abs(fftshift(fft2(im))))); % imagesc handle

如何在matlab中将强度图形h(第2张图像)转换为标准RGB图像(可以操作,裁剪等的2x2浮点矩阵)?

我不需要强度图像的轴,数字或抽搐,我只需要保持颜色。

谢谢。

1 个答案:

答案 0 :(得分:1)

%turn off the axes
axis off
%save the image
saveas(h,'test.png')
%read the saved image
im_fft = imread('test.png');
%remove white border
sum_img = sum(im_fft,3); sum_img(sum_img(:) ~= 255*3) = 0; sum_img = logical(sum_img);
im_fft = im_fft(~all(sum_img,2), ~all(sum_img,1),:);
%Done!
figure, imshow(im_fft)

生成的图像只能用于演示文稿/插图,不能用于分析 - 量化和采样会显着破坏它