matlab求影像頻譜

木槿qwer發表於2020-11-05
clc;clear;close all;
ori = imread('A.bmp');
% [h, w,ch] = size(ori);
I = im2double(ori);

%% 用matlab函式實現求頻譜
F = fft2(I(:,:,1)); % 針對R通道做fft變換
F1 = log(abs(F)+1); % abs取絕對值讓複數變實數,log壓縮資料範圍,一定要壓縮,不然資料太大了!!
F2 = log(abs(fftshift(F))+1);
figure; imshow(F1,[]);  % 沒有經過中心化處理得到的頻譜圖
figure; imshow(F2,[]);  % 經過中心化處理得到的頻譜圖

%% 根據原理自行實現求頻譜過程(待補充)

相關文章