Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

取り込んだネガ画像の色を変換する Python スクリプトを書いてみた

88 views

Published on

2020年2月に発表した「 scikit-image を使ってフィルムスキャナで取り込んだネガ画像をポジ化する」の続きで、フィルムスキャナで取り込んだ画像の色調整をするPythonプログラムをカラーに対応させた話。
小江戸らぐ 2020年9月のオフな集まりで発表。

Published in: Software
  • Be the first to comment

取り込んだネガ画像の色を変換する Python スクリプトを書いてみた

  1. 1. 取り込んだネガ画像の⾊を変換する Pythonスクリプトを書いてみた in ⼩江⼾らぐ2020年7⽉のオフな集まり Иосиф Такакура (Iosif Takakura) @huideyeren 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 1
  2. 2. はじめに 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 2
  3. 3. この発表について この発表は2020年2⽉に発表した「scikit-imageを使ってフィルムスキャナで取り込ん だネガ画像をポジ化する」の続きです。 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 3
  4. 4. お前誰よ 1981年⽣まれの就職氷河期世代。 普段は横浜でWindowsでC#とSQLを書いているエンジニア 社会⼈になってプログラミングを始めた こだわりの強いうっかりさんな どこかカウボーイエンジニアの気がある いわゆる発達障害(ADHD & ⾃閉スペクトラム障害)当事者 でも「やさしさ」は忘れたくない いろいろと「オタク」 評論サークル「恢徳堂」主筆 TRPG のようなWeb ゲームでシナリオを書いていたりもします 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 4
  5. 5. 近況報告 仕事:無事納品終わりました Windows PC ⾃作しました もちろんWSL2 使ってます テレワークは難しい模様です 個⼈情報保護法と就業規則との兼ね合いで無理 PyCon JP 2020 のスタッフもやってました 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 5
  6. 6. 本題に⼊るその前に 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 6
  7. 7. 銀塩写真にはまりました きっかけ:知り合いがDiscordの名前で「コダック」と付けてて…… 知り合いが付けてたのはもちろんポケモンの⽅ そこからロチェスターの巨⼈を連想 気がつくと⾃家現像まで⾏うように さらにオールドレンズ沼にもはまる 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 7
  8. 8. 私のカメラ フィルムカメラ Canon EOS Kiss III HOLGA 135BC Nikomat FTN ⻑い間眠っててカビだらけ デジタルカメラ PENTAX Q10 Canon EOS Kiss Digital N 故障中 iPhone 7 Plus 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 8
  9. 9. 現像⾵景 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 9
  10. 10. さて、ここからが本題 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 10
  11. 11. 前回のまとめ 1枚1枚⾊補正するのしんどい Pythonで⾊変換したいのでスクリプトを書いた ⽩⿊の⾊反転はできた グレースケール化もできた GitHubで公開した https://github.com/huideyeren/darkroom 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 11
  12. 12. 今回できたこと カラーの⾊補正に対応!! 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 12
  13. 13. といっても…… Shunsuke Aihara⽒のcolorcorrect: ⾊恒常性に基づいた⾃動⾊補正ライブラリを 組み込んだだけ 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 13
  14. 14. colorcorrectとは? 褪⾊画像や、⽩⾊光源以外の光源化で撮影された画像、ホワイトバランスが狂っ ている画像等の⾊を補正するpythonライブラリ ⼈間の⾊知覚における⾊恒常性の複数の仮説モデルの実装 多くは灰⾊仮説(Gray World Assumption)に基づいている ⽩⾊光原下において視野内のすべての⾊、画像の場合は、全ピクセルの RGB値の平均を取ると灰⾊になるという仮説 基本的に、パラメータなどをいじること無く⾊の補正が可能 Python2.6以上で動作 Python 3.8.5でも動作 https://pypi.org/project/colorcorrect/ 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 14
  15. 15. どういうメカニズムか 特殊な光源下の画像や、褪⾊して⾊が失われてしまった画像のRGB値の平均値は 灰⾊とは乖離している ずれを補正すると元の⾊を推定できる 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 15
  16. 16. 元の実装の参考⽂献 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. 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 16
  17. 17. 採⽤した⾊補正のアルゴリズム 1. gray world + stretch 早いが補正結果がちょっと微妙なものもある 単純な褪⾊に強いgray worldと⻘や⾚系の変⾊に強いstretchの組み合わせ 2. automatic color equalization ⼤体の画像で⾮常に良い補正画像 すごく時間がかかる 214枚で2時間以上…… 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 17
  18. 18. ⾊の⽐較 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 18
  19. 19. 実際の⾊変換の実例 これからの4枚の写真は全て同じネガを取り込んで加⼯したものです。 ただし1枚のみカメラはスズキジョイナス店で取り込んだものが含まれます。 撮影した写真のデータ カメラ: Canon EOS Kiss III レンズ: Induster-61 L/Z 50mm フィルム: フジカラー記録⽤100 現像: カメラはスズキジョイナス店 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 19
  20. 20. ネガ画像 ※ フィルムスキャナで⾊補正がかかっています 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 20
  21. 21. カメラはスズキジョイナス店で取り込んだもの ※ トリミングされていません 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 21
  22. 22. automatic color equalizationで⾊補正したもの 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 22
  23. 23. gray worldとstretchで⾊補正したもの 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 23
  24. 24. 最後に作例 ※ ⾊補正はautomatic color equalizationを選択 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 24
  25. 25. 七五三のお宮参り 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 25
  26. 26. 韓国・ロッテワールドにて 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 26
  27. 27. 名鉄⽝⼭線・⽝⼭橋にて 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 27
  28. 28. 中国・フフホト駅にて 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 28
  29. 29. 札沼線・⽯狩⽉形駅にて 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 29
  30. 30. 渋⾕のスクランブル交差点 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 30
  31. 31. 愛⽝・そらちゃんの⽣前の写真 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 31
  32. 32. ご清聴ありがとうございました 次の発表にご期待ください! 取り込んだネガ画像の⾊を変換するPythonスクリプトを書いてみた この作品はクリエイティブ・コモンズ表⽰4.0 国際ライセンスの下に提供されています。 32

×