Неточное отслеживание с помощью calcOpticalFlowPyrLK ()

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

  1. Получить кадр из камеры.
  2. Найти номерной знак.
  3. Извлечь особенности из области номерного знака.
  4. Получить следующий кадр с камеры.
  5. Извлечь особенности из кадра.
  6. Вызов calcOpticalFlowPyrLK ()
  7. В то время как мы успешно отслеживаем как минимум половину функций с номерного знака, мы отслеживаем и меняем функции на следующие функции.

Код (только часть):

bool licensePlate = false;

while(1)
{
frame = cvQueryFrame(cap);
if(frame.empty())
break;

cvtColor(frame, frame, CV_BGR2GRAY);

// We have license plate area
if (licensePlate)
{
frame.copyTo(image_next);
goodFeaturesToTrack(image_next, next_features, 50, 0.01, 0.1);
calcOpticalFlowPyrLK( image_previous, image_next, features, next_features, features_found, err );
swap(features, next_features);
}

// We try to obtain license plate area
if (!licensePlate)
{
squares = findLicensePlate(image);
if (!squares.empty())
{
// We have found license plate area
licensePlate = true;
frame.copyTo(image_previous);
Mat roi (mask, Rect(bb.x, bb.y, bb.width, bb.height));
roi.setTo(255);
goodFeaturesToTrack(image_previous, features, 50, 0.01, 0.1, mask);
mask.setTo(0);
}
}
}

И вывод:

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

Зеленые точки — это предыдущие функции, а красные — реальные.

Как вы можете видеть, они как-то хорошо отслеживаются, но похоже, что они масштабируются и работают далеко от автомобильного номера. Я хочу извлечь элементы из номерного знака только один раз, а затем извлечь элементы только из кадра.
Моя логика где-то не так. В чем может быть проблема здесь?

3

Решение

Задача ещё не решена.

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

Других решений пока нет …

По вопросам рекламы [email protected]