コーナー部の特徴量抽出をする方法としてMoravecの方法や、Harrisの方法というものがある。検出のためのアルゴリズムは難解で自分には理解できず。とりあえず実行テストした結果とコードを乗せる。しっかりとコーナー部分を抽出できていることがわかる。
■入力画像
■サンプルコード
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
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() |
■実行結果