Pythonプログラミング

Pythonでの画像処理方法

こんな方におすすめ

  • Pythonで画像を取り込みたい
  • Pythonでぼかしやエッジ検出の画像処理をしたい

Pythonでの画像処理について説明します。の記事を読むことで、Pythonで写真を取り込んだり、画像処理をする方法を理解できると思います。今回は、基本的なフィルタ処理を行います。

実際に、使ったソースコードも全部公開しますので、参考にしてトライしてみて下さい。

画像処理の内容

今回、取り扱う画像処理は以下の項目です。こんな事も簡単にできるんだと感じてもらえればと思います。

  • 画像をグレイススケールにする処理
  • ガウシアンぼかしフィルタ処理
  • ソーベルフィルタ処理によるエッジ検出
  • 手書き風効果

【世界で5万人が受講】実践 Python データサイエンス・オンライン講座

プログラムの内容

今回、Jupyterーnotebookを使用しています。

まずは、必要なモジュールをインポートします。scikit-imageはPytonの画像処理に置ける主要パッケージの一つです。画像は行と列のビットが並んでいるものだと考えると、numpyが必要な理由もなんとなくわかると思います。

グレイスケール画像を表示するための関数を定義します。画像処理後にこの関数を使って画像を表示させて行きます。

画像処理を行う、画像を読み込みます。FILE_PATHは、画像をおいたPATHを指定します。今回はプログラム動作したカレントディレクトなので、写真のファイル名を入れています。

オリジナル画像

 

 

 

 

 

 

次にこの画像をグレイスケールに変換します。グレイスケールとして扱うために、RGB要素を一つだけ使用します。

 

 

 

 

 

 

 

次に、この画像にガウシアンぼかしフィルタを適用させて見ます。

 

 

 

 

 

 

次にソベールフィルタを通して、画像のエッジを検出します。

 

 

 

 

 

 

最後に手書き風の効果を出します。適正なエッジの閾値を見つけるために、ウィジェットを使って、操作しながら見つけてください。

 

 

 

 

 

 

Python 3 入門+アメリカのシリコンバレー流コードスタイル

まとめ

Pythonの画像処理で、簡単に手書き風の効果まで行うことができました。

画像にぼかしを入れたいときなど、ちょこっと加工するのにも、非常に便利です。紹介したこと以外にも、いろんなことができます。ぜひ、トライして見てください!

スポンサーリンク

-Pythonプログラミング

Copyright© MAYRのPython活用法! , 2021 All Rights Reserved Powered by AFFINGER5.