I am working on crops images and want to detect some random pattern from binary image. As in following image want to detect only the area in yellow circle. So how it can be done any algorithm or direct technique? Thanks for you support.

2 次查看(过去 30 天)
  5 个评论
Greg Heath
Greg Heath 2017-11-19
I don't know how to do it. However, the obvious difference is the average color level of the surrounding pixels
Hope this helps.
Greg
Asif Ameer
Asif Ameer 2017-11-19
well Greg Thanks for your response! But what if I can draw centerline in crop row and then perform some sliding window operation to scan image around this center line and color all these pixels those have been scanned by sliding widow and then perform color based threshold to remove that color area pertaining to crop rows?

请先登录,再进行评论。

采纳的回答

Image Analyst
Image Analyst 2017-11-19
I'd use bwareaopen() or bwareafilt() to get blobs that are small. Large blobs will be the big crop rows. Of course when the plants are very young it would be hard to tell between a small wheat plant and a small weed. However John Deere has farm machines that drive over the crop rows and use deep learning to spray only the weeds, so it is a solved problem, and probably one that has patents on the concept.
  3 个评论
Asif Ameer
Asif Ameer 2017-11-19
or simply creating mask of of crop rows and then segment that all the portion of original binary image by applying mask?
Image Analyst
Image Analyst 2017-11-19
If the rows are not solid vertically, like the plants are still small and growing, then you can get a vertical projection and look for high mean. then threshold to find the rows. Little weeds in between the rows will not be above the threshold.
horizontalProfile = sum(binaryImage, 1);
wheatColumns = horizontalProfile > someValue;
Then you can use regionprops() to find the centroid of the wheatColumns, and again on the original binary image to find the center of all the blobs. Then filter the binary image to accept only those blobs within some x distance of the wheat column centroids. Blobs in between those would be weed blobs and will be not chosen. That's how I'd proceed for cases where the lanes are not solid from top to bottom, like is the case for small, young plants.
I don't see how edge detection would help at all.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Image Segmentation and Analysis 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by