Я должен распределить рисовые зерна на листе, а затем найти среднюю длину распространения рисовых зерен.Любые идеи, как это сделать в MATLAB?
Если у вас хороший контраст между фоном и рисом, вы можете следовать простому (хотя и наивному алгоритму) рецепту (я не помню команд в Matlab, но с помощью справки это будет легко)
1 - Порог
2- Маркировка компонента
3- Получите длину каждого компонента (как указано @second) и используйте его, чтобы рассчитать средний размер.
Эта точная ситуация может быть найдена в качестве примера обработки изображения в онлайн-документации MathWorks для Инструментов обработки изображений :
Серьезно, они используют изображение рисовых зерен и все!Единственным отличием будет то, что вы захотите взглянуть на другое свойство изображения при использовании функции REGIONPROPS , возможно, 'MajorAxisLength' свойство (которое требует использования labeledматрица из примера).
'MajorAxisLength'
labeled
звучит как домашнее задание, но вот некоторые идеи
посмотрите на regionprops в наборе инструментов для обработки изображений.
regionprops
существует множество свойств, которые могут помочь вам найти, 'majoraxislength' может быть подходящим.
'majoraxislength'