Pythonとフィルム写真の奇妙な出会い――Pythonで書くフィルム写真向け画像変換ツール

>100 Views

September 03, 22

スライド概要

2022年9月3日 オープンデベロッパーカンファレンス2022にて発表

プログラミングで大事なことは、「なんかの課題を解決する」ということにあります。私はフィルムカメラで写真を撮って撮った画像をスキャニングしていますが、使っているツールに課題を感じて、それを解決するためのツールをPythonで書いてみました。その過程で起こったさまざまなことを、今回お話しいたします。

profile-image

1981年、東京生まれ。ロスジェネ。修士(史学)。 カウボーイエンジニアの気があるITエンジニア。C#、Python、Ruby、JavaScript/TypeScript、OSS界隈に生息。 ほかにもライター、アマチュアカメラマンなど。 同人評論サークル「恢徳堂」主筆。発達障がい当事者。 MBTI診断ではENFPタイプ。一応正教会信徒。いわゆるオタク。 「個」が尊重される、持続可能で公正な社会を目指す。 モットー:【自由・平等・寛容・生存・環境】

シェア

埋め込む »CMSなどでJSが使えない場合

各ページのテキスト
1.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール とフィルム写真の奇妙な出会い Python Python で書くフィルム写真向け画像変換ツール at Open Developers Conference 2022 Online 高倉 佑輔 (Iosif Takakura) @huideyeren この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 1

2.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール お前誰よ? 年生まれの就職氷河期世代。 普段は横浜で Windows で C# と SQL を書いているエンジニア PyCon JP 2022 スタッフやってます 社会人になってプログラミングを始めた 発達障がい(ADHD & 自閉スペクトラム障害)当事者 でも「やさしさ」は忘れたくない いろいろと「オタク」 評論サークル「恢徳堂」主筆 その他、写真や鉄道・国内旅行、TRPG や PBW 、 VRChat も好き 1981 この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 2

3.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール PyCon JP スタッフとしての経験 初参加は PyCon JP 2017 それから毎年スタッフ参加 一般参加したことがない 基本的にコンテンツチームに所属 主にカンファレンス会期中の企画担当 この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 3

4.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール 今回の話の大雑把な内容 何を作ったのか 2. 銀塩写真の原理とプロセス、そしてそれらにある問題 3. ITでどこが解決できたのか 4. 開発を通じて得られたこと 1. この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 4

5.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール 何を作ったのか huideyeren/anshitsu 画像の色を変換するツール フォトスキャナーで取り込まれたものであることが前提 複数の画像を連続して処理することが可能 主な機能 色の反転 グレースケールへの変換およびRGBヘの再変換 その際にコントラストを強くする「とさかモード」を備える その他色調変換など この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 5

6.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール 使用しているライブラリ poetry Pillow numpy colorcorrect fire その他開発支援ツール この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 6

7.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール 使い方 インストールは pip install anshitsu 対応OS: Linux, macOS, Windows 追加歓迎、でもテストは書いてね……。 2. コマンドラインでディレクトリを指定し、オプションを付けて実行 3. 指定したディレクトリとその子階層に含まれる画像が変換されて出力される 1. この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 7

8.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール さて、写真のお話 私はデジカメもフィルム写真もどっちも撮る 自家現像もしている しかし、フィルムを現像するところまで 印画紙に焼くのはやっていない 現像したフィルムはフィルムスキャナーでPCに取り込む PC上で画像処理して目に見られる写真にしている この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 8

9.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール モノクロ銀塩写真の原理 ハロゲン化銀に光を当てるとハロゲン化銀の結晶内部に銀の核ができる 薬品で現像処理を行い、感光したハロゲン化銀の結晶全体を銀に還元する 塩基性の水溶液でないと現像処理は進まない あるタイミングで酸を注いで還元処理を停止させる 放っておくと感光してないハロゲン化銀の粒子まで変化してしまうため 定着液という薬品を使ってハロゲン化銀を溶かす フィルムや印画紙には銀粒子で表される、色が反転した白黒の画像のみが残 る この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 9

10.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール カラー銀塩写真(カラーネガフィルム)の原理 ハロゲン化銀に光を当てるとハロゲン化銀の結晶内部に銀の核ができる 薬品で現像処理を行い、感光したハロゲン化銀の結晶全体を銀に還元する ここではカラー専用の薬品を使う 現像と同時にフィルムや印画紙の中の染料を薬品で活性化させる 現像が済んだところで漂白液で銀粒子をハロゲン化銀に戻す 最終的に銀粒子はすべて取り除かれる 定着液という薬品を使ってハロゲン化銀を溶かす フィルムや印画紙には染料で表される、色が反転したカラー画像のみが残る ただし、カラーネガフィルムのベースには色がついている この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 10

11.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール カラー銀塩写真(内式カラーリバーサルフィルム)の原理 ハロゲン化銀に光を当てるとハロゲン化銀の結晶内部に銀の核ができる 薬品で現像処理を行い、感光したハロゲン化銀の結晶全体を銀に還元する 最初の現像は白黒フィルム用と同じものが使われる 最初の現像が終わった後に薬品を使って色を反転させる ここで光が当たらなかった所のハロゲン化銀の結晶内部に銀の核ができる この潜像にたいして再度現像を行う ここからはカラーネガフィルムの場合とだいたい同じ ただし、カラーリバーサルフィルムにはフィルムベースに色がついていない できあがる画像は色がほぼ忠実な、染料で表される、目に見える画像になる この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 11

12.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール と、ここまではフィルムの話 フィルムを現像してでき上がるのは色が反転した画像 リバーサルフィルムを除く 目に見える画像にするには印画紙に焼く必要がある だいたい同じ化学的な処理を行う カラーネガフィルムの場合は色補正を行う フィルムベースのオレンジ色の影響を取り除くため これらは、すべて暗黒下で行わなければいけない つまり、遮光された暗室が必要になる だが、そんなもの用意できない…… この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 12

13.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール 実際の現像の光景 タンクに薬品を順番に注いで処理を行う フィルムだけなら暗室がなくてもOK ちなみに、現像は英語では "develop" この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 13

14.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール 銀塩写真が抱える問題 暗室が必要 2. 廃液の処理が必要 3. 目で見える画像にするまでに手間がかかる 4. コンピューターで使いにくい 5. コストが年々高騰している 1. この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 14

15.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール 銀塩写真にコンピューターを取り入れることで解決できること 暗室→印画紙に焼かなければ必要なくなる 2. 廃液の処理→なくならないが、印画紙に焼かなければ半分になる 3. 目に見える画像にする手間→なくならないが、印画紙に焼かなければ半分になる 4. コンピューターで使いにくい→どこかでコンピューターに取り込む必要がある 5. コストが年々高騰している→どうにもならないが、印画紙の分は減らせる →印画紙に焼く代わりにコンピューター上で画像処理を行うことで少し簡単になる 1. この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 15

16.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール コンピューターに取り込む フィルムスキャナーで画像を取り込む 2. 写真専用のソフトウェア上で1枚ずつ色調を変換する しかも、だいたいが Windows 専用 mac で使えない 3. これを撮った分だけ繰り返す 枚数が多いと大変な作業…… 作業を繰り返すのがすごくしんどい 1. この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 16

17.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール anshitsu 開発の目的 繰り返しがしんどい 36枚分繰り返すのは集中力が切れる なので、バッチでいい感じにやってくれるとありがたい 2. 色調変換をうまくやってくれたら…… レタッチの知識・技術がない 高いソフトウェア買う余裕もない 機械学習で自動的に色調補正をしてくれたらなぁ…… 基本的に撮って出しに近い感じでヨシとする 1. この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 17

18.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール なぜ Python を選んだのか? で何か作ってみたかったから 2. コマンドラインのアプリケーションでよかったから 3. 画像処理ライブラリが充実しているから そうなると、情報も充実している 4. 機械学習と連携しやすいと思われるから 「いい感じの色調」は機械におまかせしたい 実のところ、「いい感じの色調」がよくわからない 1. Python この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 18

19.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール anshitsu の意外な利用法 色調変換ライブラリとして用いることもできた 同人誌の画像の色変換にも使った 紙版はモノクログレースケール、電子版はRGBにできた しかも GitHub Actions で一括処理できた 同人誌作成に大いに貢献 この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 19

20.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール 今後の方向性 現在はモノクロ画像に特化した機能 カラーネガフィルムの色調変換は実装したい 色調補正を「いい感じに」してくれるようにしたい 機械学習とか活用できたらよい フォトスキャナーを作って連携させたい 今持っているフォトスキャナーではカラーネガだと自動で色変換 元のフィルムのままの画像を取り込みたい 作り方も合わせて公開したい できれば、 PyCon JP 2022 のスプリントでこれの開発をしてみたい この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 20

21.

Python で書くフィルム写真向け画像変換ツール——Pythonで書くフィルム写真向け画像変換ツール ご清聴ありがとうございました PyCon JP 2022 でお待ちしております! この作品はクリエイティブ・コモンズ 表示 4.0 国際 ライセンスの下に提供されています。 21