Python+OpenCVによる画像処理のためのテンプレコード

Python
スポンサーリンク

OpenCVとは

インテル社が開発したオープンソースの画像処理用ライブラリです。PythonだけでなくC++やMATLABなどでも使えます。
ちなみにPythonにおいては標準でPillowというものが入っているのですが、OpenCVではより高度な処理が実現できます。
具体的には画像処理・解析そして画像向け機械学習(SVMやランダムフォレストなど)の機能があります。

当記事で紹介しているソースコードはOpenCV for Pythonによるものです。

OpenCVのインストール

AnacondaでPythonを導入されている方は既に入っているかと思いますので操作は不要です。

一例としてpipでインストールする場合、以下のようにターミナルに打ち込むことでインストールされます。
PCやPythonの環境によってはエラーが出てしまうかもしれませんが基本はこちらで大丈夫かと思われます。

pip install opencv-contrib-python

画像処理のためのソースコード

はじめに

OpenCVでは様々な画像処理が施せます。画像処理をするうえで必要となる画像の読み込みから処理後の画像の出力まで、必要最低限の関数を書き込んだテンプレートとなるソースコードを当記事では紹介いたします。

テンプレのソースコード

基本的にはソースコード内の###処理###の中身を書き換えていただければ、任意の画像処理が出来るかと思います。
以下のテンプレコードでは一例として入力画像を反転させるものとなっています。
各行のコメントアウトに自分なりの解説を記載しましたので、ぜひ参考になさってください。

ちなみに入力画像はソースコードを入れているフォルダ内に入れておかないとうまく動作しませんのでご注意ください。

import cv2
import math
import numpy as np 

file_src = 'sample.jpg' #入力画像として使いたい画像をここで指定する(任意)
img_src = cv2.imread(file_src, 1) #先の行で指定した画像を入力画像として読み込む
#imread()の第二引数は、画像をカラー(RGB)で読み込むかグレースケールで読み込むかなど指定できます。書かない場合は自動でRGBで読み込まれます。また、ここでは番号で指定していますが、cv2.IMREAD_COLORやcv2.IMREAD_GRAYSCALEなどと指定することも出来ます。

###処理###
img_dst = cv2.flip(img_src,flipCode = 1) #flip処理
##########

cv2.imwrite('flip_sample.jpg', img_dst) #出力画像の保存
cv2.imshow('src', img_src) #入力画像 imshow()の第一引数ではウィンドウの名前、第二引数では表示させたいもの
cv2.imshow('dst', img_dst) #出力画像 

ch = cv2.waitKey(0) #キー入力待ち 引数を0にすることで恒久的にキー入力を待てる
if ch == ord('q'): #qを打ち込まれたら
    cv2.destroyAllWindows() #表示させたすべてのウィンドウを閉じる(destroyする)

ちなみに出力結果としてはこのようになります。サイドチェストッ!×2



当記事では画像処理のためのテンプレートを紹介しましたが、こちらの記事では動画処理のテンプレートを紹介しています。興味ある方は併せてご覧ください。

マスルキン

当ブログ管理人のマスルキンです。

高専電気系学科に5年間在籍。卒業後は専攻科に進学し現在に至る。

生まれつき聴覚障害があり
補聴器の使用、コミュニケーションでは読唇や手話などを用いています。

当ブログでは
・プログラミング・研究関係の備忘録
・趣味(筋トレ、カメラ、プラモデル、etc...)
・自身の日常
などを自由気ままに皆様に発信いたします。

記事が皆様のお役に立てば幸いです。

マスルキンをフォローする
Python コンピュータビジョン プログラミング
スポンサーリンク
マスルキンをフォローする
マスルキンの部屋

コメント

タイトルとURLをコピーしました