Мне нужна помощь по отладке скрипта для обнаружения объектов.Сценарий вдохновлен этой статьей « Алгоритм на основе связанного списка для обнаружения блобов на встроенных датчиках на основе зрения » Рикардо Асеведо-Авила и др.
Авторы реализуют алгоритм наустройство FPGA, и я хотел внедрить его в Octave.Мой алгоритм, возможно, не является их 1: 1 копией, но я до сих пор не могу понять, почему он терпит неудачу.Пожалуйста, помогите мне отладить скрипт.Вот ссылка https://pastebin.com/gfQ4KjjN.
Вот функция, которая выполняет синтаксический анализ последовательных строк белых пикселей:
function parseForBins(vectorOfPixels, Y, minimumBinLength, cSize)
binLength=0;
for j=1:cSize
if(vectorOfPixels(j)==1)
binLength++;
if(binLength==minimumBinLength)
addNewBinBegin(Y, j-minimumBinLength+1);
endif
else
if(binLength>=minimumBinLength)
addNewBinEnd(j);
hasExistingObject = addBinToObject();
if(!hasExistingObject)
addBinToNewObject();
endif
endif
binLength=0;
endif
endfor
endfunction
Мой алгоритм выполняется, но не обнаруживает объектыв правильных координатах и в правильном номере.
Короче говоря, идея состоит в том, чтобы сравнить каждую строку изображения с предыдущей строкой, и если последовательные пиксели изображения перекрываются с пикселями в текущей строке, обнаруживается объект.Идея состоит в том, что этот алгоритм оптимизирован для встроенных устройств реального времени с точки зрения памяти.
Это третий раз, когда я пытался реализовать этот сценарий, и он может быть не очень хорошо написан, но я нестремясь к этому в настоящее время.Цель состоит в том, чтобы правильно обнаружить объекты, а потом беспокоиться об оптимизации.Я тестирую с помощью простых геометрических фигур.
Всем, кто пытается помочь, заранее благодарю.