Я использую OpenCV
для реализации программы ANPR.Как извлечь номера в номерной знак?
Я попытался извлечь номера в табличке. Пример код ниже
adaptiveThreshold(src_gray, binary_image, THESHOLD_MAX, ADAPTIVE_THRESH_GAUSSIAN_C, CV_THRESH_BINARY_INV, BLOCK_SIZE, MEAN_OFFSET);
CvBlobs blobs;
IplImage binary = binary_image;
IplImage *labelImg = cvCreateImage(cvGetSize(&binary), IPL_DEPTH_LABEL, 1);
unsigned int result = cvLabel(&binary, labelImg, blobs);
cvReleaseImage(&labelImg);
cvFilterByArea(blobs, DETECT_BLOB_AREA_MIN, DETECT_BLOB_AREA_MAX);
Все почти в порядке с `cvLabel adaptiveThreshold()
и(), однако есть некоторые изображения дают вывод из adaptiveThreshold() не хорошо, следующий пример.
Есть 3 буквы в пластине (которые ограничены с красными прямоугольниками).
там 3 письмо не могу обнаружить cvLabel(), потому что это палка с табличкой. В этом случае мой алгоритм не может извлечь эти буквы.
Кто-нибудь скажет мне, есть ли способ извлечь эти 3 буквы в этом случае?
спасибо!
спасибо! Я попытался использовать Erosion, это нормально для этого изображения с соответствующим параметром. Но он потерял некоторые пиксели переднего плана других блоков, поэтому это не очень хороший способ применить этот случай. Что-нибудь еще для меня? Спасибо! – TTGroup