Python OpenCV3で画像のエッジを抽出する
[amazonjs asin="4061538225″ locale="JP" title="OpenCVによる画像処理入門 (KS情報科学専門書)"]
前提
OpenCV3のインストールからの続きの前提で。
OpenCV3をインストールした仮想環境に入る。
またsourceディレクトリを作成し、sourceディレクトリ内にimageディレクトリを作成する。
[shell]
$ cd ~/Documents/opencv_python/
$ source ./bin/activate
(opencv_python)$ mkdir source
(opencv_python)$ cd source
(opencv_python)$ mkdir image
[/shell]
imageディレクトリ内に画像を設置しておく。
今回は以下の画像(slack_botter.png)を使う。
sourceディレクトリにedge.pyファイルを作成する。
[python title="edge.pyの内容"]
# -*- coding: utf-8 -*-
import cv2
if __name__ == '__main__’:
# 画像の読み込み
gray = cv2.imread("./image/slack_botter.png", 0)
# エッジの抽出
edge = cv2.Canny(gray, 100, 200)
# 表示
cv2.imshow("Show Image", edge)
cv2.waitKey(0)
cv2.destroyAllWindows()
[/python]
edge.pyを実行する。
[shell]
(opencv_python)$ cd ~/Documents/opencv_python/source
(opencv_python)$ python edge.py
[/shell]
すると以下のような画像が表示される。
元画像のSlackerの部分やjinja2のの背景の部分など、薄い部分は取り切れていない。
[python]
edge = cv2.Canny(gray, 100, 200)
[/python]
の値を
[python]
edge = cv2.Canny(gray, 0, 200)
[/python]
のようにしきい値を調整することで取得されるエッジが変わる。
ディスカッション
コメント一覧
まだ、コメントがありません