2.4K Views
July 12, 20
スライド概要
2020年2月に発表した「 scikit-image を使ってフィルムスキャナで取り込んだネガ画像をポジ化する」の続きで、フィルムスキャナで取り込んだ画像の色調整をするPythonプログラムをカラーに対応させた話。
小江戸らぐ 2020年9月のオフな集まりで発表。
1981年、東京生まれ。ロスジェネ。修士(史学)。 カウボーイエンジニアの気があるITエンジニア。C#、Python、Ruby、JavaScript/TypeScript、OSS界隈に生息。 ほかにもライター、アマチュアカメラマンなど。 同人評論サークル「恢徳堂」主筆。発達障がい当事者。 MBTI診断ではENFPタイプ。一応正教会信徒。いわゆるオタク。 「個」が尊重される、持続可能で公正な社会を目指す。 モットー:【自由・平等・寛容・生存・環境】
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 取り込んだネガ画像の⾊を変換する Pythonスクリプトを書いてみた in ⼩江⼾らぐ 2020年7⽉のオフな集まり Иосиф Такакура (Iosif Takakura) @huideyeren この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 1
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた はじめに この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 2
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この発表について この発表は2020年2⽉に発表した「scikit-imageを使ってフィルムスキャナで取り込ん だネガ画像をポジ化する」の続きです。 この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 3
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた お前誰よ 年⽣まれの就職氷河期世代。 普段は横浜でWindowsでC#とSQLを書いているエンジニア 社会⼈になってプログラミングを始めた こだわりの強いうっかりさんな どこかカウボーイエンジニアの気がある いわゆる発達障害(ADHD & ⾃閉スペクトラム障害)当事者 でも「やさしさ」は忘れたくない いろいろと「オタク」 評論サークル「恢徳堂」主筆 TRPG のような Web ゲームでシナリオを書いていたりもします 1981 この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 4
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 近況報告 仕事:無事納品終わりました Windows PC ⾃作しました もちろん WSL2 使ってます テレワークは難しい模様です 個⼈情報保護法と就業規則との兼ね合いで無理 PyCon JP 2020 のスタッフもやってました この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 5
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 本題に⼊るその前に この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 6
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 銀塩写真にはまりました きっかけ:知り合いがDiscordの名前で「コダック」と付けてて…… 知り合いが付けてたのはもちろんポケモンの⽅ そこからロチェスターの巨⼈を連想 気がつくと⾃家現像まで⾏うように さらにオールドレンズ沼にもはまる この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 7
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 私のカメラ フィルムカメラ Canon EOS Kiss III HOLGA 135BC Nikomat FTN ⻑い間眠っててカビだらけ デジタルカメラ PENTAX Q10 Canon EOS Kiss Digital N 故障中 iPhone 7 Plus この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 8
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 現像⾵景 この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 9
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた さて、ここからが本題 この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 10
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 前回のまとめ 枚1枚⾊補正するのしんどい Pythonで⾊変換したいのでスクリプトを書いた ⽩⿊の⾊反転はできた グレースケール化もできた GitHubで公開した 1 https://github.com/huideyeren/darkroom この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 11
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 今回できたこと カラーの⾊補正に対応!! この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 12
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた といっても…… Shunsuke Aihara 組み込んだだけ ⽒のcolorcorrect: ⾊恒常性に基づいた⾃動⾊補正ライブラリを この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 13
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた とは? colorcorrect 褪⾊画像や、⽩⾊光源以外の光源化で撮影された画像、ホワイトバランスが狂っ ている画像等の⾊を補正するpythonライブラリ ⼈間の⾊知覚における⾊恒常性の複数の仮説モデルの実装 多くは灰⾊仮説(Gray World Assumption)に基づいている ⽩⾊光原下において視野内のすべての⾊、画像の場合は、全ピクセルの RGB値の平均を取ると灰⾊になるという仮説 基本的に、パラメータなどをいじること無く⾊の補正が可能 Python2.6以上で動作 Python 3.8.5でも動作 https://pypi.org/project/colorcorrect/ この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 14
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた どういうメカニズムか 特殊な光源下の画像や、褪⾊して⾊が失われてしまった画像のRGB値の平均値は 灰⾊とは乖離している ずれを補正すると元の⾊を推定できる この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 15
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 元の実装の参考⽂献 1. D. Nikitenko, M. Wirth and K. Trudel, "Applicability Of White-Balancing Algorithms to Restoring Faded Colour Slides: An Empirical Evaluation.", Journal of Multimedia, vol. 3, no. 5, 2008. 2. E.Y. Lam, "Combining gray world and retinex theory for automatic white balance in digital photography.",in Proc ISCE, 2005. 3. HK. Lam, OC. Au and CW. Wong, "Automatic white balancing using luminance component and standard deviation of RGB components.", in Proc. ICASSP, 2004. 4. A. Rizzi, C. Gatta and D. Marini, "A new algorithm for unsupervised global and local color correction.", Pattern Recognition Letters, vol. 24, no. 11, 2003. この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 16
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 採⽤した⾊補正のアルゴリズム 1. gray world + stretch 早いが補正結果がちょっと微妙なものもある 単純な褪⾊に強いgray worldと⻘や⾚系の変⾊に強いstretchの組み合わせ 2. automatic color equalization ⼤体の画像で⾮常に良い補正画像 すごく時間がかかる 214枚で2時間以上…… この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 17
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた ⾊の⽐較 この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 18
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 実際の⾊変換の実例 これからの4枚の写真は全て同じネガを取り込んで加⼯したものです。 ただし1枚のみカメラはスズキ ジョイナス店で取り込んだものが含まれます。 撮影した写真のデータ カメラ: Canon EOS Kiss III レンズ: Induster-61 L/Z 50mm フィルム: フジカラー 記録⽤100 現像: カメラはスズキ ジョイナス店 この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 19
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた ネガ画像 ※ フィルムスキャナで⾊補正がかかっています この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 20
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた カメラはスズキ ジョイナス店で取り込んだもの ※ トリミングされていません この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 21
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた で⾊補正したもの automatic color equalization この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 22
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた と で⾊補正したもの gray world stretch この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 23
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 最後に作例 ※ ⾊補正はautomatic color equalizationを選択 この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 24
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 七五三のお宮参り この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 25
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 韓国・ロッテワールドにて この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 26
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 名鉄⽝⼭線・⽝⼭橋にて この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 27
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 中国・フフホト駅にて この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 28
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 札沼線・⽯狩⽉形駅にて この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 29
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 渋⾕のスクランブル交差点 この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 30
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた 愛⽝・そらちゃんの⽣前の写真 この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 31
取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた ご清聴ありがとうございました 次の発表にご期待ください! この作品はクリエイティブ・コモンズ 表⽰ 4.0 国際 ライセンスの下に提供されています。 32