Я изо всех сил пытаюсь обнаружить определенную форму в openCV, используя python. Конкретной формой является буква "H".
Я рассмотрел несколько способов сделать это. Сопоставление с шаблоном и OCR не будут работать под любым углом, поэтому я подумываю использовать хитрое обнаружение краев.
Может ли кто-нибудь из вас дать несколько советов о том, как двигаться дальше отсюда. Как применить фильтр Канни, как проверить наличие буквы «Н»?
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
binary = cv2.erode(gray, None, iterations=2)
median_filter = cv2.medianBlur(binary, 3)
edges = cv2.Canny(median_filter, 120, 180)
bin, contours, _hierarchy = cv2.findContours(edges, cv2.RETR_LIST, cv2.CHAIN_APPROX_SIMPLE)
for cnt in contours:
cnt_len = cv2.arcLength(cnt, True)
cnt = cv2.approxPolyDP(cnt, 0.02 * cnt_len, True)
cv2.imshow("crop", binary)
cv2.imshow("Frame", edges)
cv2.imshow("frame", frame)
key = cv2.waitKey(1) & 0xFF
if key == ord("q"):
break
cv2.destroyAllWindows()