2017-12-18 8 views
2

モーションブラーを除去する技術については、deconvlucydeconvwnrを学び、シミュレートされたブレ軽減されたイメージではうまく機能します。したがって、私はこのアルゴリズムをモバイルでキャプチャした実際の映像で確認しようとしました。 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 

しかし、非常に悪い結果を取得しています。何が間違っているのか分かりますか?ここ はイメージです:シミュレートぼかした画像をブレ除去事前に

おかげ

originaldeblurred

答えて

0

は、実際のカメラが写真を撮影しボケ除去は非常に異なっています。

カメラの動きによるモーションブラーは、画像の品質を著しく低下させる可能性があります。カメラの動きの経路は任意であり得るので、動きのぼやけた画像のブレ軽減は難しい問題である。ブラインド修復や安定化レンズを用いた光学補正など、この問題に対処するにはいくつかの方法があります。

解決策は、ブラインドデコンボリューションとdeconvblindコマンドを使用することです。

https://www.mathworks.com/help/images/ref/deconvblind.html

+0

私はdeconvblindよりdeconvwnrと幾分良好な結果を得ました。 – Anonymous

関連する問題