1. hitomatagi

    No comment

    hitomatagi
Changes in body
Source | HTML | Preview
@@ -1,65 +1,68 @@
# はじめに
OpenCV(Open Source Computer Vision Library)はBSDライセンスの映像/画像処理ライブラリ集です。画像のフィルタ処理、テンプレートマッチング、物体認識、映像解析、機械学習などのアルゴリズムが多数用意されています。
OpenCVを使った動体追跡の例 (OpenCV Google Summer of Code 2015)
-https://www.youtube.com/watch?v=OUbUFn71S4s
+[https://www.youtube.com/watch?v=OUbUFn71S4s](https://www.youtube.com/watch?v=OUbUFn71S4s)
+
+インストールと簡単な使い方はこちら
+[http://qiita.com/olympic2020/items/d5d475a446ec9c73261e](http://qiita.com/olympic2020/items/d5d475a446ec9c73261e)
動体追跡をしたりするために、最初に画像のフィルター処理をすると思います。
今回は、OpenCVを使ってエッジ検出をしてみます。
# プログラム
以下のような流れになります。
1. カラー画像を読み込む
2. グレースケールに変換する
3. エッジ検出
```sample.py
import cv2
# 定数定義
ORG_WINDOW_NAME = "org"
GRAY_WINDOW_NAME = "gray"
CANNY_WINDOW_NAME = "canny"
ORG_FILE_NAME = "org.jpg"
GRAY_FILE_NAME = "gray.png"
CANNY_FILE_NAME = "canny.png"
# 元の画像を読み込む
org_img = cv2.imread(ORG_FILE_NAME, cv2.IMREAD_UNCHANGED)
# グレースケールに変換
gray_img = cv2.imread(ORG_FILE_NAME, cv2.IMREAD_GRAYSCALE)
# エッジ抽出
canny_img = cv2.Canny(gray_img, 50, 110)
# ウィンドウに表示
cv2.namedWindow(ORG_WINDOW_NAME)
cv2.namedWindow(GRAY_WINDOW_NAME)
cv2.namedWindow(CANNY_WINDOW_NAME)
cv2.imshow(ORG_WINDOW_NAME, org_img)
cv2.imshow(GRAY_WINDOW_NAME, gray_img)
cv2.imshow(CANNY_WINDOW_NAME, canny_img)
# ファイルに保存
cv2.imwrite(GRAY_FILE_NAME, gray_img)
cv2.imwrite(CANNY_FILE_NAME, canny_img)
# 終了処理
cv2.waitKey(0)
cv2.destroyAllWindows()
```
# 実行結果
手前の森、中ほどのビル、奥の空がそれなりにエッジ抽出されました。
![org.jpg](https://qiita-image-store.s3.amazonaws.com/0/107056/b11f2a62-907b-cdc4-d5db-0ff9289c88a7.jpeg)
               **元画像**
![gray.png](https://qiita-image-store.s3.amazonaws.com/0/107056/8fa2b502-3e58-a36b-36e0-7582ededc748.png)
               **グレースケール**
![canny.png](https://qiita-image-store.s3.amazonaws.com/0/107056/e7fcca7a-2fc4-b3f9-4069-970e5098ec12.png)
               **エッジ検出**