Detect all branches in a plant picture

不打扰是莪最后的温柔 提交于 2019-12-06 20:14:54

问题


I would like to know of something that will detect all the green branches from the following image

Currently i am starting with applying the Frangi filter

   options=struct('FrangiScaleRange', [5 5], 'FrangiScaleRatio', 1, 'FrangiBetaOne', 1,...
 'FrangiBetaTwo', 7, 'verbose',true,'BlackWhite',true);
[outIm,whatScale,Direction] = FrangiFilter2D(double(img), options);

The output of Frangi filter is as follows

This is followed by Hough Transform to detect all the lines

[H,theta,rho] = hough(outIm,'Theta',-90:1:89);
P = houghpeaks(H,100,'threshold',ceil(0.3*max(H(:))),'NhoodSize',[21 21]);
lines = houghlines(outIm,theta,rho,P,'FillGap',10,'MinLength',100);

The output is this

Any leads on what i can try apart from these techniques ?


回答1:


You can use color based Gaussian mixture model(GMM) for segmenting out green branches. Fit 2 GMM models 1 for green branches, and 2nd for rest of the objects in image. But to initialize that you have to mark some mannual scribbles initially to make know GMM how branches and other look like. After fitting both GMM models on the basis of scribbles, you can find likelihood of all pixels for both GMM models, and on basis of that you divide your in two regions branch and non branch. Marking of scribbles should cover most of the color variation in image.



来源:https://stackoverflow.com/questions/34971579/detect-all-branches-in-a-plant-picture

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!