2014-05-13 6 views
0

입력 이미지에서 반사 및 조명을 복구하려고합니다. 문제는 %%% find r 섹션 (반사율)에 있습니다. 'pinv'의 결과는 NaN 매트릭스입니다 ... 왜? 코드 :pinv() 함수 NaN 행렬

c = imread('cats.jpg'); 
c = im2double(c(:, :, 1)); 

im = log(c); 

filters = {fspecial('laplacian', 0.1) fspecial('laplacian', 0.3,fspecial('laplacian', 0.5) fspecial('laplacian', 0.7) fspecial('laplacian', 0.9)}; 


%%% conv 

o = cell(1, 5); 

for i = 1:5 
    o{i} = conv2(im, filters{i}, 'same'); 
end 

%%% median 

imd = o{1}; 
for i = 2:5 
    imd = cat(3, imd, o{i}); 
end 

r_n = median(imd, 3); 

%%% find r 

[X,Y]=size(r_n); 
fftr=zeros(X,Y); 
fft_filters = cell(1, 5); 
for i = 1:5 
    requiredpaddingX = X-3; 
    requiredpaddingY=Y-3; 
    filters{i}=padarray(filters{i},[requiredpaddingY requiredpaddingX],'post'); 


    fft_filters{i} = fft2(filters{i}); 
    fft_filterspinv{i}=pinv(fft_filters{i}); %%% HERE 
    fftr=r+r_n .* fft_filterspinv{i}; 
end 
+0

무엇처럼 fft_filters {난} 보는가 스파 스입니까? – shimizu

+0

5 셀 '벡터'입니다. 모든 셀에는 행렬 (FFT 이후 라플라시안 필터)이 포함되어 있습니다. 예 : fft_filters {1}은 NXM 매트릭스입니다 ... –

+0

그래서 fft_filters {i}는 매트릭스입니까? 맞습니까? 인쇄 한 경우 '정상'으로 보입니까? – shimizu

답변

0

Pinv 스파 스 기능과 라플라시안 작동하지 않습니다는