[英]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.