Точки ветвления (OpenCV, C ++) - PullRequest
       23

Точки ветвления (OpenCV, C ++)

0 голосов
/ 22 сентября 2011

Я хочу определить точки разветвления молнии на этом изображении:

http://i.stack.imgur.com/PXujf.jpg

То, что я сделал в первую очередь, было порогом изображения таким образом, чтобы я получил светящуюся часть изображения и отказаться от фона. Это результат

http://i.stack.imgur.com/IYNTi.jpg

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

Хорошо, в основном у меня 2 проблемы:

  1. Как правильно сегментировать изображение, чтобы молния была правильно захвачена.
  2. Как я могу тогда определить точки ветвления? Для каждой точки ветвления я хочу нарисуйте красный круг над ним.

Заранее благодарю

1 Ответ

0 голосов
/ 24 января 2013

Сегментация / порог:
Я бы дал эту попытку. У них также была бумага для семинаров NIPS2012 (DISCML) по сегментации изображения, которая, кажется, обрабатывает довольно элегантно тонкие вытянутые объекты (например, молнии на картинке).

Точки разветвления:
Если у вас есть хорошая маска, вы можете использовать морфологические операции , чтобы извлечь точки ветвления (код Matlab):

 bw = myGoodSegmentation( img ); % replace with whatever segmentation/thresholding that works best for you.
 tbw = bwmorph( bw, 'skel', inf );
 [y x] = find( bwmorph( tbw, 'branchpoints' ) ); % get x,y coordinates of branch points
...