2013-06-13 3 views
0

Я хочу выполнить двумерное преобразование Фурье на фрагменте изображения черепной МРТ. Я попытался следующие коды и не были успешными: (сообщения об ошибках приведены ниже)fft2 в Matlab с изображениями dicom (MRI)

>> clear all 
>> 
>> info = dicominfo('MR000026.dcm'); 
Y = dicomread(info); 
J=imadjust(Y,stretchlim(Y),[0 1]); 
F = fftshift(fft2(fftshift(J))); 
Undefined function 'fftn' for input arguments of type 'int16'. 

Error in fft2 (line 19) 
     f = fftn(x); 

>> info = dicominfo('MR000026.dcm'); 
Y = dicomread(info); 
F = fftshift(fft2(fftshift(Y))); 
Undefined function 'fftn' for input arguments of type 'int16'. 

Error in fft2 (line 19) 
     f = fftn(x); 

>> info = dicominfo('MR000026.dcm'); 
Y = dicomread(info); 
F = fft2(Y); 
Undefined function 'fftn' for input arguments of type 'int16'. 

Error in fft2 (line 19) 
     f = fftn(x); 

ответ

1

сообщение об ошибке вы получили все сказано: fft2 не предназначен для работы с типом ввода uint16.
Преобразование Y в double, прежде чем обрабатывать его:

Y = im2double(Y); 

или даже просто

Y = double(Y); 
Смежные вопросы