.NETエンジニア・プログラマ向けの技術情報・業界ニュースをお届けします。

  1. FEnet.NETナビ
  2. .NETコラム
  3. プログラミング言語
  4. Python
  5. Pythonでの画像処理はAIへの第一歩

Pythonでの画像処理はAIへの第一歩

  • Python
  • プログラミング言語
公開日時:   更新日時:
Pythonでの画像処理はAIへの第一歩
この記事でわかること
    基本情報技術者試験の試験対策はこちら>>
    システム
    エンジニア
    Pythonでも画像処理のようなことができるのですか。
    プロジェクト
    マネージャー
    もちろんできます。ライブラリを利用すれば、Pythonでは初心者でも簡単に画像処理が行えます。

    画像処理とは?


    画像処理とは、ある画像を例えば色で分けたリして画像を加工・処理して情報を得ることをいいます。画像処理は、特に顔認証技術で知られています。

    ここではPythonでの画像処理を紹介します。ライブラリが充実しているPythonがAI向きであることがよく分かるでしょう。

    Pythonでの画像処理の方法

    Pythonでの画像処理には、ライブラリOpenCVがよく知られています。ここではOpenCVを初めとするPythonでの画像処理でよく利用されるライブラリのインストール方法をまず説明し、その後にPythonでの画像処理を実際に行っていきます。

    使用するライブラリは、OpenCVはもちろん、NumPyやMatplotlibをインストトールして画像処理を実装します。

    Jupyter notebook

    Pythonのソースコードをあれこれと書きながら、その結果がすぐに分かるJupyter notebookをまずインストールします。Jupyter notebookではコンパイルの必要がないので、手間が一つ省けます。

    Jupyter notebookのインストール

    Python3がインストールされて、パスが通っていることを前提にします。開発環境はWindows10です。PowerShellを立ち上げて次のコマンドを打ち込めばインストールできます。

    次のコマンドを打ち込むとJupyter notebookがブラウザで起動します。

    NumPy、Matplotlib、OpenCVのインストール

    これは余談ですが、ローカル環境でPythonを走らせたい人のために画像処理に必要なライブラリをインストールしておきます。NumPy、Matplotlib、OpenCVをインストールします。
    次の通りにコマンドを打ち込んでください。

    画像処理

    それではPythonによる画像処理を行います。ここでは公開されている画像を使ってPythonによる画像処理の一端を紹介します。

    まず、次のGithubから画像をgit clone xxxxxで拾って来て下さい。
    piratefsh/image-processing-101

    それで始めます。

    Jupyter notebookに画像をアップ

    Jupyter notebookに新たにフォルダーを作り、それをrenameしてimagesにします。そこにGithubで得た画像を全てアップロードします。

    次に「New」から「Python3」をクリックして、新規ノートブック「Untitled.ipynb」を作成します。

    これで準備が整いました。

    画像フォーマットを知る

    OpenCVでは、画像はNumPy配列の3次元配列で表されます。それでは、その様子を次のソースコードで見てみましょう。

    Jupyter notebookの一番下の「Untitled.ipynb」をクリックして下さい。するとコードが書き込めるページが現れます。

    このソースコードを上部の「Run」をクリックして走らせると、3次元配列が下部に表示されます。

    グレースケール

    次にプログラムの結果の下に、次のソースコードを書き込んで下さい。すると画像がモノクロに変わります。

    これで元画像が表示されます。そして、

    このソースコードをJupyter notebookで走らせるとモノクロ画像に変わります。

    セグメーション

    画像情報を集める際に、画像の特徴ごとに分割することで画像の振り分けができます。これをセグメーションといいます。

    画像のセグメーションで一番簡単な方法は閾値処理です。或る閾値以上は白のピクセルに、未満は黒のピクセルにすれば、画像の特徴が現れます。一般的には2値画像にします。グレースケールも2値画像の一例です。

    次のコードを走らせて下さい。

    システム
    エンジニア
    Pythonの画像処理でよく利用されるライブラリやJupyter notebookのインストールの仕方がよく分かりました。
    プロジェクト
    マネージャー
    顔認証技術などAIの発展は目覚ましいものがあり、いま世界中でしのぎを削っています。Pythonの画像処理の方法を身につけて実践してみてください。

    Pythonによる画像処理

    この他にもまだ、Pythonの画像処理は語り尽くせないのですが、少しは参考になったでしょうか。これが発展していくと顔認証システムへと一直線です。

    Pythonの画像処理に興味がある方は、色々と調べて実践してみるといいでしょう。

    FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
    株式会社オープンアップシステムロゴ

    株式会社オープンアップシステムはこんな会社です

    秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
    数多くのエンジニアが集まります。

    秋葉原オフィスイメージ
    • スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで

      スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。

    • 充実した研修制度

      充実した研修制度

      毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。

    • 資格取得を応援

      資格取得を応援

      スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。

    • 東証プライム上場企業グループ

      東証プライム上場企業グループ

      オープンアップシステムは東証プライム上場「株式会社オープンアップグループ」のグループ企業です。

      安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。

    株式会社オープンアップシステムに興味を持った方へ

    株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。

    年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
    まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。

    株式会社オープンアップシステムへのご応募はこちら↓
    株式会社オープンアップシステムへのご応募はこちら↓

    Python新着案件New Job