Считайте объекты в изображении

В этом примере вы импортируете изображение интенсивности колеса из рабочей области MATLAB® и преобразовываете его в двоичный файл. Затем с помощью Открытия и Блоков меток, вы считаете количество спиц в колесе. Можно использовать подобные методы, чтобы считать объекты в других изображениях интенсивности. Однако вы можете должны быть использовать дополнительные морфологические операторы и различные элементы структурирования.

Примечание

Выполнение этого примера требует лицензии DSP System Toolbox™.

Можно открыть модель в качестве примера путем ввода

на командной строке MATLAB.

  1. Создайте новую модель Simulink® и добавьте в нее блоки, показанные в следующей таблице.

    Блок

    Библиотека

    Количество

    Отобразите из файла

    Computer Vision Toolbox™> Источники

    1

    Открытие

    Computer Vision Toolbox> Морфологические Операции

    1

    Метка

    Computer Vision Toolbox> Морфологические Операции

    1

    Video Viewer

    Computer Vision Toolbox> Приемники

    2

    Постоянный

    Simulink> Источники

    1

    Оператор отношения

    Simulink> Логика и Битовые операции

    1

    Отображение

    Simulink> Приемники

    1

  2. Используйте блок Image From File, чтобы импортировать ваше изображение. Установите параметр File name на testpat1.png. Это - 256 256 матричное изображение 8-битного беззнакового целого.

  3. Используйте блок Constant, чтобы задать пороговое значение для блока Relational Operator. Установите параметр Constant value на 200.

  4. Используйте блок Video Viewer, чтобы просмотреть оригинальное изображение. Примите параметры по умолчанию.

  5. Используйте блок Relational Operator, чтобы выполнить операцию пороговой обработки, которая преобразовывает ваше изображение интенсивности в двухуровневое изображение. Установите параметр Relational Operator на <.

    Если вход к блоку Relational Operator - меньше чем 200, его вывод равняется 1; в противном случае его вывод 0. Вы должны порог ваше изображение интенсивности, потому что Блок меток ожидает двоичный вход. Кроме того, объекты, которые это считает, должны быть белыми.

  6. Используйте блок Opening, чтобы разделить спицы от оправы и друг от друга в центре колеса. Используйте параметры по умолчанию.

    Объект strel создает круговой объект STREL с радиусом 5 пикселей. При работе с блоком Opening выберите объект STREL, который соответствует в объектах, которые вы хотите сохранить. Это часто берет экспериментирование, чтобы найти окружение или объект STREL что лучшие иски ваше приложение.

  7. Используйте блок Video Viewer1, чтобы просмотреть открытое изображение. Примите параметры по умолчанию.

  8. Используйте Блок меток, чтобы считать количество спиц во входном изображении. Установите параметр Output на Number of labels.

  9. Блок Display отображает количество спиц во входном изображении. Используйте параметры по умолчанию.

  10. Соедините блок как показано в следующей фигуре.

  11. Установите параметры конфигурации. Откройте диалоговое окно Configuration путем выбора Model Configuration Parameters из меню Simulation. Установите параметры можно следующим образом:

    • Панель Solver, Stop time = 0

    • Панель Solver, Type = Fixed-step

    • Панель Solver, Solver = discrete (no continuous states)

  12. Запустите модель.

    Оригинальное изображение появляется в окне Video Viewer1. Чтобы просмотреть изображение в его истинном размере, щелкните правой кнопкой по окну и выберите Set Display To True Size.

    Открытое изображение появляется в окне Video Viewer. Следующее изображение показывают в его истинном размере.

    Как вы видите в предыдущей фигуре, спицы являются теперь отдельными белыми объектами. В модели блок Display правильно указывает, что существует 24 отличных спицы.

Вы использовали Открытие и Блоки меток, чтобы считать количество спиц в изображении. Для получения дополнительной информации об этих блоках, смотрите страницы с описанием Открытия и Блока меток в Ссылке Computer Vision Toolbox. Если вы хотите отправить количество спиц к рабочему пространству MATLAB, используйте блок To Workspace в Simulink. Для получения дополнительной информации об объектах STREL, смотрите strel в документации Image Processing Toolbox™.