簡體   English   中英

pinv()函數NaN矩陣

[英]pinv() function NaN matrix

我正在嘗試從輸入圖像恢復反射率和照明度。 問題出在%%% find r部分(反射率)。 “ 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

Pinv無法使用稀疏函數,而laplacian則稀疏

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM