Обнаружение линий посева с помощью opencv - PullRequest
0 голосов
/ 09 июля 2020

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

Вид изображения с высоты птичьего полета

Изображение с высоты птичьего полета

Есть ли другие подходы, которые я упускаю?

1 Ответ

0 голосов
/ 09 июля 2020

Перед применением алгоритма линий Хафа вы можете сделать следующее:

1) Сдвиг цвета

Применить смещение цвета, где вы разделяете цвета изображения на синий, зеленый и красный каналы. Поскольку ряды обрезки зеленые, вы можете усилить зеленый цвет, чтобы больше выделяться на фоне остальных каналов.

b,g,r = cv2.split(img) 
gscale = 2*g-r-b

2) Canny Edge Detection

Поиграйте с аргументами min и max в функция cv2.Canny () до достижения удовлетворительного результата.

gscale = cv2.Canny(gscale,minVal,maxValue)

3) Скелетонизация

Скелетизация - это процесс прореживания интересующих областей до их бинарных составляющих. Это упрощает распознавание образов.

...