モーションブラーを除去する技術については、deconvlucy
とdeconvwnr
を学び、シミュレートされたブレ軽減されたイメージではうまく機能します。したがって、私はこのアルゴリズムをモバイルでキャプチャした実際の映像で確認しようとしました。 Movaviビデオエディタを使ってビデオを安定させました。Matlabを使用したモーションデブラク
そしてここでは私のコードです:
I = imread('mobile_blur13.png');
imshow(I);
lengthmin = 12;
lengthmax = 15;
thetamin =331;
thetamax=335;
figure;
for length = lengthmin:0.2:lengthmax
for theta = thetamin:0.5:thetamax
PSF = fspecial('motion',length,theta);
res = deconvlucy(I,PSF,100);
res2 =deconvreg(I,PSF);
noise_var = 0;
signal_var = var(double(I(:)));
estimated_nsr = noise_var/signal_var;
res1= deconvwnr(I,PSF,estimated_nsr);
%res = medfilt2(rgb2gray(res));
f = imfilter(res, fspecial('average', [3 3]));
imshow(f);
end
end
しかし、非常に悪い結果を取得しています。何が間違っているのか分かりますか?ここ はイメージです:シミュレートぼかした画像をブレ除去事前に
おかげ
私はdeconvblindよりdeconvwnrと幾分良好な結果を得ました。 – Anonymous