Вычислите угловую метрическую матрицу и найдите углы в изображениях
Computer Vision Toolbox / Analysis & Enhancement
Блок Corner Detection находит углы в изображении при помощи детектирования углов методом Харриса (Харрисом и Стивенсом), минимальное собственное значение (Ши и Томэзи), или локальное сравнение интенсивности (на основе метода Accelerated Segment Test, (FAST) Ростена и Драммонда) метод. Блок находит углы в изображении на основе пикселей, которые имеют самые большие угловые метрические значения.
I
— Введите изображениеВведите изображение в виде матрицы значений интенсивности.
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Loc
— Угловые местоположенияУгловые местоположения, возвращенные как M-by-2 матрица [x y] координаты. M представляет количество углов и меньше чем или равен параметру Maximum number of corners.
Чтобы включить этот порт, установите параметр Output на один из них:
Corner location
Corner location and metric matrix
Типы данных: uint32
Count
— Количество обнаруженных угловКоличество обнаруженных углов, возвращенных как скаляр.
Чтобы включить этот порт, установите эти параметры блоков:
Вывод : Corner location
| Corner location and metric matrix
Output variable size signal: off
Типы данных: uint32
Metric
— Угловые метрические значенияУгловые метрические значения, возвращенные как матрица значений интенсивности. Возвращенная матрица одного размера с входным изображением.
Чтобы включить этот порт, установите параметр Output на один из них:
Corner location and metric matrix
Metric matrix
Типы данных: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| fixed point
Main Tab
Method
— Угловой метод обнаруженияHarris corner detection (Harris & Stephens)
(значение по умолчанию) | Minimum eigenvalue (Shi & Tomasi)
| Local intensity comparison (Rosten & Drummond)
Задайте угловой метод обнаружения как Harris corner detection (Harris & Stephens)
, Minimum eigenvalue (Shi & Tomasi)
, или Local intensity comparison (Rosten & Drummond)
.
Чтобы получить самые точные результаты, используйте Minimum eigenvalue (Shi & Tomasi)
. Для самого быстрого расчета используйте Local intensity comparison (Rosten & Drummond)
. Для баланса между точностью и скоростью расчета, используйте Harris corner detection (Harris & Stephens)
. Для получения дополнительной информации о каждом методе смотрите раздел Algorithms.
Sensitivity factor (0<k<0.25)
— Фактор чувствительностиЗадайте фактор чувствительности, k. Когда k уменьшается, вероятность, что алгоритм может обнаружить увеличения острых углов.
Настраиваемый: да
Чтобы включить этот параметр, установите параметр Method на Harris corner detection (Harris & Stephens)
.
Coefficients for separable smoothing filter
— Отфильтруйте коэффициентыЗадайте вектор из коэффициентов фильтра для фильтра сглаживания.
Чтобы включить этот параметр, установите параметр Method на один из них:
Harris corner detection (Harris & Stephens)
Minimum eigenvalue (Shi & Tomasi)
Intensity comparison threshold
— Порог интенсивностиУкажите, что пороговое значение интенсивности раньше находило допустимые окружающие пиксели.
Настраиваемый: да
Чтобы включить этот параметр, установите параметр Method на Local intensity comparison (Rosten & Drummond)
.
Maximum angle to be considered a corner (in degrees)
— Максимальный угловой уголЗадайте максимальный угловой угол.
Настраиваемый: да
Чтобы включить этот параметр, установите параметр Method на Local intensity comparison (Rosten & Drummond)
.
Этот параметр является настраиваемым для симуляции только.
Output
— Block выходCorner location
(значение по умолчанию) | Corner location and metric matrix
| Metric matrix
Задайте блок выход как Corner location
, Corner location and metric matrix
, и Metric matrix
.
Установите этот параметр на Corner location
или Corner location and metric matrix
отсоединять Maximum number of corners, Minimum metric value that indicates a corner и параметры Neighborhood size (suppress region around detected corners).
Maximum number of corners
— Максимальное количество угловЗадайте максимальное количество углов, которые вы хотите, чтобы блок нашел.
Чтобы включить этот параметр, установите параметр Output на один из них:
Corner location
Corner location and metric matrix
Minimum metric value that indicates a corner
— Минимальная угловая метрикаЗадайте минимальное угловое метрическое значение.
Настраиваемый: да
Чтобы включить этот параметр, установите параметр Output на один из них:
Corner location
Corner location and metric matrix
Neighborhood size
— Размер окруженияЗадайте размер окружения как двухэлементный вектор из положительных нечетных целых чисел, [row, column]. Блок использует этот параметр, чтобы подавить область вокруг допустимой угловой точки с самым большим угловым метрическим значением.
Чтобы включить этот параметр, установите параметр Output на один из них:
Corner location
Corner location and metric matrix
Output variable size signal
— Переменный сигнал размераon
(значение по умолчанию) | off
Выберите этот параметр, чтобы вывести переменный сигнал размера.
Чтобы включить этот параметр, установите параметр Output на один из них:
Corner location
Corner location and metric matrix
Data Types Tab
Для получения дополнительной информации на параметрах блоков фиксированной точки, смотрите, Задают Атрибуты Фиксированной точки для Блоков.
Чтобы определить итоговые угловые значения, блок следует за этим процессом:
Найдите пиксель с самым большим угловым метрическим значением.
Проверьте, что метрическое значение больше или равно значению, которое вы задали для параметра Minimum metric value that indicates a corner.
Подавите область за углом значение размером, заданным в параметре Neighborhood size (suppress region around detected corners).
Блок повторяет этот процесс, пока это не находит все углы в изображении, или это находит количество углов, которые вы задали в параметре Maximum number of corners.
Угловые метрические значения вычисляются Minimum eigenvalue
и Local intensity comparison
методы являются всегда неотрицательными. Угловые метрические значения вычисляются Harris corner detection
метод может быть отрицательным.
Метод является более в вычислительном отношении дорогим, чем алгоритм детектирования углов методом Харриса, потому что это непосредственно вычисляет собственные значения суммы матрицы различия в квадрате, M.
Сумма матрицы различия в квадрате, M, определяется следующим образом:
Предыдущее уравнение основано на следующих значениях:
где и градиенты входного изображения, меня, в направлении X и Y. символ обозначает операцию свертки.
Используйте параметр Coefficients for separable smoothing filter, чтобы задать вектор из коэффициентов фильтра. Блок умножает этот вектор из коэффициентов транспонировать, чтобы создать матрицу коэффициентов фильтра, w.
Блок вычисляет меньшее собственное значение суммы матрицы различия в квадрате. Это минимальное собственное значение соответствует угловой метрической матрице.
Метод детектирования углов методом Харриса избегает явного расчета собственных значений суммы матрицы различий в квадрате путем решения для угловой метрической матрицы, R:
Смотрите раздел Minimum Eigenvalue Method для определений A, B и C.
Переменная k соответствует фактору чувствительности. Можно задать его значение с помощью параметра Sensitivity factor (0<k<0.25). Когда k уменьшается, вероятность, что алгоритм может обнаружить увеличения острых углов.
Используйте параметр Coefficients for separable smoothing filter, чтобы задать вектор из коэффициентов фильтра. Блок умножает этот вектор из коэффициентов транспонировать, чтобы создать матрицу коэффициентов фильтра, w.
Метод решает, что пиксель является возможным углом, если это имеет или, N непрерывные допустимые яркие окружающие пиксели или N непрерывные темные окружающие пиксели.
Предположим, что p является пикселем на рассмотрении, и j является одним из пикселей, окружающих p. Местоположения других окружающих пикселей обозначаются заштрихованными областями в следующем рисунке. Заштрихованные области в этом рисунке обозначают местоположения других окружающих пикселей.
и интенсивность пикселей p и j, соответственно. Пиксель j является допустимым ярким окружающим пикселем если . Точно так же пиксель j является допустимым темным окружающим пикселем если . В этих уравнениях T является значением, которое вы задали для параметра Intensity comparison threshold.
Блок повторяет этот процесс, чтобы определить, имеет ли блок непрерывные допустимые окружающие пиксели N. Значение N связано со значением, которое вы задаете для параметра Maximum angle to be considered a corner (in degrees), как показано в этой таблице.
Количество допустимых окружающих пикселей и угла
Количество допустимых окружающих пикселей | Угол (степени) |
---|---|
15 | 22.5 |
14 | 45 |
13 | 67.5 |
12 | 90 |
11 | 112.5 |
10 | 135 |
9 | 157.5 |
После того, как блок решает, что пиксель является возможным углом, это вычисляет свою угловую метрику использование следующего уравнения:
[1] Харрис, C. и М Стивенс. “Объединенный детектор угла и ребра”. Продолжения 4-й конференции по видению Alvey, 147-151. Август 1988.
[2] Ши, J. и К. Томэзи. “Хорошие функции, чтобы отследить”. Продолжения конференции по IEEE по компьютерному зрению и распознаванию образов, 593-600. Июнь 1994.
[3] Rosten, E. и Т. Драммонд. “Плавя точки и линии для высокопроизводительного отслеживания”. Продолжения международной конференции IEEE по вопросам издания 2, 1508-1511 компьютерного зрения. Октябрь 2005.
Эти схемы показывают типы данных, используемые в блоке Corner Detection для сигналов фиксированной точки. Эти схемы применяются к детектированию углов методом Харриса и минимальным методам собственного значения только.
Следующая таблица обобщает переменные, используемые в предыдущих схемах.
Имя переменной | Определение |
---|---|
IN_DT | Тип входных данных |
MEM_DT | Тип данных оперативной памяти |
OUT_DT | Метрический тип выходных данных |
COEF_DT | Содействующий тип данных |
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.