Мне нужно определить следующие точки на данных изображениях. Но это не дает правильного обнаружения. Может ли кто-нибудь дать методологию определения этих точек на таком изображении?
Я сделал некоторые улучшения следующим образом:
улучшенное изображение путем расширения с последующим повышением резкости
Я использовал сопоставление с шаблоном для обнаружения этих точек на изображении. Но это не сработало. Код выглядит следующим образом. Есть ли другой способ обнаружить их?
импортировать cv2 импортировать numpy как np
img_rgb = cv2.imread(file)
cv2.imwrite("D:/4/Detect/"+str(i)+".0.jpg",img_rgb)
img_gray = cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)
template = cv2.imread('a.jpg',0)
w, h = template.shape[::-1]
res = cv2.matchTemplate(img_gray,template,cv2.TM_CCOEFF_NORMED)
threshold = 0.455
loc = np.where( res >= threshold)
for pt in zip(*loc[::-1]):
cv2.rectangle(img_rgb, pt, (pt[0] + w, pt[1] + h), (0,255,255), 0)
cv2.imshow('Detected',img_rgb)
cv2.imwrite("D:/4/Detect/"+str(i)+".1.jpg",img_rgb)
cv2.waitKey(0)
cv2.destroyAllWindows()