маркировка символов на специальной табличке

Я хочу найти все подключенные компоненты в номерном знаке. Сначала я порождаю свое изображение, а затем использую функцию связанного компонента в opencv для маркировки двоичного изображения, но символ в красной области и номер 10 в синей области не обнаруживаются. Что я могу сделать, чтобы обнаружить персонажа?

Образец номерного знака:

введите описание изображения здесь
введите описание изображения здесь

0

Решение

Попробуйте использовать Niblack Thresholding. Это то, что я получил с размером окна = 5 и k = 4,25
введите описание изображения здесь

Я преобразовал изображение в оттенки серого, а затем сделал Niblack Thresholding. Вот пример кода Python. (код не включает анализ и маскировку подключенных компонентов, что необходимо для правильного вывода)

import cv2
import numpy as np
from skimage.filters import threshold_niblackimage = cv2.imread('IRplate.jpg')
B_Wimage = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY)thresh = threshold_niblack(B_Wimage, window_size=5, k=4.25)
ret,thresh = cv2.threshold(thresh,0,255,cv2.THRESH_BINARY_INV)cv2.imshow('A1',thresh)
k = cv2.waitKey(0)
cv2.destroyAllWindows()

Вам нужно будет провести некоторый анализ эрозии / расширения и анализа связанных компонентов на изображении с пороговым значением, чтобы получить правильный результат.

Надеюсь это поможет! 🙂

1

Другие решения

Могу поспорить, что у вас, вероятно, тоже будут проблемы, если вы посмотрите на изображение с пороговым значением.

Я предполагаю, что вы использовали один порог (и, возможно, шкалу серого). Но здесь у вас есть три эффекта: изображение состоит из нескольких областей, оно цветное, а тень есть.

Вы можете посмотреть на Адаптивный порог, возможно с последующим Grab огранки

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector