pythonにおいてOpenCVを使ってテンプレートマッチングを行い数字をマッチングしているのですが、ここから真ん中の座標を抽出しExcelのデータとして書き込みを行うプログラムを作りたいのですが、ここからどのようなプログラムを書けばいいかわからず止まっている状態で、ご教授いただけると幸いです。
python
1import cv2 2import numpy as np 3from matplotlib import pyplot as plt 4 5img_rgb = cv2.imread('frequency2.png') 6img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY) 7template = cv2.imread('1.png',0) 8w, h = template.shape[::-1] 9 10res = cv2.matchTemplate(img_gray,template,cv2.TM_CCOEFF_NORMED) 11threshold = 0.8 12loc = np.where( res >= threshold) 13for pt in zip(*loc[::-1]): 14 cv2.rectangle(img_rgb, pt, (pt[0] + w, pt[1] + h), (0,0,255), 2) 15 16cv2.imwrite('res.png',img_rgb) 17 18l = ['3.png','4.png','5.png'] 19for name in l: 20 img_rgb = cv2.imread('res.png') 21 img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY) 22 template = cv2.imread(name,0) 23 w, h = template.shape[::-1] 24 25 res = cv2.matchTemplate(img_gray,template,cv2.TM_CCOEFF_NORMED) 26 threshold = 0.8 27 loc = np.where( res >= threshold) 28 for pt in zip(*loc[::-1]): 29 cv2.rectangle(img_rgb, pt, (pt[0] + w, pt[1] + h), (0,0,255), 2) 30 31 cv2.imwrite('res.png',img_rgb)
loc に見つかった座標が入っているという認識で良いでしょうか。
その場合の loc の内容(座標が入った配列?)を Excel に書き出す方法がわからないというご質問でしょうか。
あなたの回答
tips
プレビュー