opencvを使いHarrisコーナー検出で画像からコーナー部を抽出する

コーナー部の特徴量抽出をする方法としてMoravecの方法や、Harrisの方法というものがある。検出のためのアルゴリズムは難解で自分には理解できず。とりあえず実行テストした結果とコードを乗せる。しっかりとコーナー部分を抽出できていることがわかる。

■入力画像
corner detect sample input

■サンプルコード

import cv2
import numpy as np
from matplotlib import pyplot as plt

img = cv2.imread('maze.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
gray = np.float32(gray)
dst = cv2.cornerHarris(gray,2,3,0.04)
dst = cv2.dilate(dst,None)

img[dst>0.01*dst.max()]=[0,0,255]

plt.imshow(img)
plt.title('cornerHarris image')
plt.show()

■実行結果
detect corner by harris

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA