В этом примере показано, как обнаружить углы на изображении с помощью блока «Обнаружение углов».
Откройте модель Simulink ®.
modelname = 'ex_blkCornerDetection.slx';
open_system(modelname)

Модель считывает входное изображение RGB с помощью блока «Изображение из файла» и преобразует его в изображение интенсивности с помощью блока «Преобразование цветового пространства».
Для обнаружения углов на входном изображении модель использует блок «Обнаружение углов». Блок использует Harris corner detection метод и устанавливает параметр Maximum number of corners равным 25.
Модель использует блок «Рисование маркеров» и блок «Просмотр видео» для отображения всех обнаруженных углов на входном изображении.
Отображаемое изображение показывает некоторые ложные углы в темном фоне изображения. Модель использует другие блоки в области Фильтровать угловые точки (Filter Corner Points), чтобы удалить эти ложные углы и сохранить только углы цветка. Область Фильтровать угловые точки (Filter Corner Points) выбирает квадратные области фиксированного размера, представляющие интерес (ROI), окружающие каждую обнаруженную угловую точку, и находит среднее значение каждого ROI. Средние значения ROI, окружающих углы в темном фоне, будут ниже по сравнению с другими ROI. Для фильтрации этих ложных углов модель выбирает требуемое количество углов, соответствующих ROI с более высокими средними значениями. Область «Фильтровать угловые точки» состоит из следующих блоков:
Выберите ROI - блок MATLAB Function (Simulink), который генерирует спецификации квадратных ROI, окружающих каждый обнаруженный угол. Спецификации включают координаты верхнего левого угла, а также параметры ширины и высоты каждого ROI в форме [ x y width height ]. Поскольку каждый ROI здесь является квадратным, значения параметров ширины и высоты одинаковы. Ширина каждого ROI устанавливается равной 50 с помощью блока «Константа» (Simulink).
2-D Mean - блок вычисляет среднее значение каждого выбранного ROI во входном изображении.
Выбрать углы (Select Corners) - блок функции MATLAB (Simulink), который выбирает требуемое количество угловых точек, соответствующих ROI с наибольшими средними значениями. Требуемое количество угловых точек устанавливается равным 10 с помощью блока «Константа» (Simulink).
Для отображения отфильтрованных угловых точек на изображении модель использует блок «Рисование маркеров» и блок «Просмотр видео». Смоделировать модель и отобразить результаты.
sim(modelname);

