2020年8月31日月曜日

MoviePyとscikit-imageで動画画面のノイズを除去する

MoviePyとscikit-imageで動画画面のノイズを除去するには、fl_imageメソッドとdenoise_bilateral関数などを使用します。

サンプルコード

以下のサンプルコードでは、scikit-imageのdenoise_bilateral関数を使用してノイズを除去し、動画を出力しています。
from moviepy.editor import *
from skimage.util import *
from skimage.restoration import *

def process_denoise_bilateral(image):
    dw = denoise_bilateral(img_as_float(image), sigma_color=0.05, sigma_spatial=5, multichannel=True)
    return img_as_ubyte(dw)

clip1 = VideoFileClip("hydrangea.mp4")

clip1t = clip1.fl_image(lambda clip1: process_denoise_bilateral(clip1))
clip1t.write_videofile("denoise_bilateral.mp4")


〇元動画の画面

 

〇出力動画の画面

 

〇scikit-imageインストール
MoviePyの他、仮想環境のフォルダに移動して以下のコマンドを実行します。

pipenv install scikit-image

関連情報

MoviePyのまとめ

・moviepyのホームページ
https://zulko.github.io/moviepy/

0 件のコメント:

コメントを投稿