] 映画の郷 [ 電子工作部:python + kivyで修復プログラムを構築する(経過報告)

ラズベリーパイと戦前映写機を組みあわせた自作のフィルムスキャナーで賞をいただいてから2年が経過しました。スキャナー自体は快調に動いているのですが古いフィルムが相手でもあって傷や汚れも多く、スキャン画像を修復する技術が必要だ…と痛感した2年間でもありました。

昨年、折に触れて画像修復のプログラムをpythonで試していて、今年中に一つのアプリとしてまとめていこうと思っています。

指定したフォルダ(「data」)に連番を付したスキャン画像を放りこんでおき、アプリを立ち上げると画像を読みこんで左側にサムネイル表示。調整や修正を加えた画像が右側に表示され、その設定を保持したまま一括で画像すべてを修正&保存、必要であれば動画化する…フィルム修復を一つのインターフェースで直感的に処理できるといいな、が元々の発想です。

昨年1月、同じ試みをした際はうまくいきませんでした。

2020年に試作したインターフェイスのプロトタイプ

この時は「読みこんだ画像を縦スクロール可能なサムネイル表示する」でつまずきました。kivyのファイル選択ウィジェットを使おうとしたのですが失敗。今回はてなブログでkivyでのサムネイルを実装しているサイト(「ふたり暮らし」)を見つけたのでそれをアレンジさせてもらいました。

現時点ではアプリを立ち上げるとまず空のディスプレイが表示されます。左側にはスクロール式のサムネイルとファイル名が表示されていて、適当なファイル名をクリックするとその画像が2面に表示されます。

下部にボタンとスライダーを配置しておいたので試しに「セピア」のスライダーにプログラムを割り当ててみました。以前にデジタル染色で試したプログラムを援用したものです。スライダーは左端が「0」、右端が「180」の値となる設定になっています。真ん中よりやや右寄り、「110」の辺りにスライドを動かすと右の画像が青色になります。

そのままスライドを少し左に戻して「70」の辺りにすると綠、右端まで寄せて「180」にすると赤色に変わります。

もうひとつ「修復1」のボタンに一括簡易修復のプログラムを割り当てていきます。厳密にはスキャン画像上の傷を修復しているわけではないのですが、修正前(上の写真左)に目立つ「黒い汚れ」を消す(写真右)ことができます。100枚ほどの連番画像をまとめて修復してみたところ、時間はかかるものの狙った通りの結果になっていました。

クリアすべき問題が多く実用に耐えるものが完成するのか定かではありません。最終的に修復プロセスを学習した人工知能(AI)に手伝ってもらう所まで念頭に入れていて、長丁場の開発になるはずなのでボチボチ進めていきます。

Votre commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l’aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google

Vous commentez à l’aide de votre compte Google. Déconnexion /  Changer )

Image Twitter

Vous commentez à l’aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l’aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur la façon dont les données de vos commentaires sont traitées.