exponenta event banner

Преобразование Хафа

Поиск строк на изображениях

Библиотека

Преобразовывает

visiontransforms

  • Hough Transform block

Описание

Для поиска прямых линий на изображении используется блок «Преобразование потока». Блок выводит матрицу пространства Хафа и, при необходимости, векторы rho-оси и theta-оси. Пиковые значения в матрице представляют потенциальные прямые линии во входном изображении. Обычно блок преобразования потока предшествует блоку преобразования потока, который использует выходные данные этого блока для поиска прямых линий в изображении. Вместо этого можно использовать пользовательский алгоритм для определения пиков в матрице пространства Хафа, чтобы определить потенциальные прямые линии.

ПортВвод/выводПоддерживаемые типы данныхПоддерживаемые комплексные значения

BW

Матрица, представляющая двоичное изображение

Булев

Нет

Хью

Матрица пространства параметров

  • Плавающая точка с двойной точностью

  • Плавающая точка с одинарной точностью

  • Фиксированная точка (без знака, длина дроби равна 0)

  • 8-, 16-, 32-разрядное беззнаковое целое число

Нет

Тета

Вектор значений тета

  • Плавающая точка с двойной точностью

  • Плавающая точка с одинарной точностью

  • Фиксированная точка (подпись)

  • 8-, 16-, 32-разрядное целое число со знаком

Нет

Ро

Вектор значений rho

То же, что и порт Theta

Нет

Параметры

Разрешение тета (радианы)

Укажите интервал между ячейками преобразования Хафа вдоль оси тета.

Разрешение Rho (пикселы)

Укажите интервал между ячейками преобразования Hough вдоль оси rho.

Выходные значения тета и ро

Если этот флажок установлен, в блоке появятся порты Theta и Rho. Блок выводит значения вектора тета и ро-оси на этих портах.

Тип выходных данных

Укажите тип данных выходного сигнала.

Режим округления

Выберите режим округления для операций с фиксированной точкой.

Режим переполнения

Выберите режим переполнения для операций с фиксированной точкой.

Таблица синусов

Выберите способ указания длины слова для значений таблицы синусов:

  • При выборе Binary point scaling, можно ввести длину слова для значений таблицы синусов, в битах.

  • При выборе Slope and bias scaling, можно ввести длину слова для значений таблицы синусов, в битах.

Значения таблицы синусов не соответствуют параметрам режима округления и режима переполнения; они всегда насыщаются и округляются до Nearest.

Ро

Выберите способ задания длины слова и длины дроби значений rho:

  • При выборе Binary point scaling, можно ввести длину слова и длину дроби значений rho в битах.

  • При выборе Slope and bias scaling, можно ввести длину слова, в битах, и наклон значений rho. Все сигналы в блоках Computer Vision Toolbox™ имеют смещение 0.

Выход продукта

. Используйте этот параметр, чтобы указать, как обозначать выходные слова продукта и длины дробей:

  • При выборе Binary point scaling, можно ввести длину слова и длину дроби выходного документа в битах.

  • При выборе Slope and bias scaling, можно ввести длину слова в битах и наклон выхода продукта. Все сигналы в блоках Computer Vision Toolbox имеют смещение 0.

Примеры использования выходных данных продукта приведены в разделе Типы данных умножения.

Аккумулятор

Используйте этот параметр, чтобы указать, как обозначать длины слов и дробей в накопителе:

  • При выборе Same as product outputэти признаки соответствуют характеристикам продукта.

  • При выборе Binary point scaling, можно ввести длину слова и длину дроби накопителя, в битах.

  • При выборе Slope and bias scaling, можно ввести длину слова, в битах, и наклон накопителя. Все сигналы в блоках Computer Vision Toolbox имеют смещение 0.

    Примеры использования типа данных накопителя в этом блоке приведены в разделе Типы данных умножения.

Блокировка параметров типа данных от изменений с помощью инструментов с фиксированной точкой

Выберите этот параметр, чтобы инструменты с фиксированной точкой не переопределяли типы данных, заданные в маске блока. Дополнительные сведения см. в разделе fxptdlg (Fixed-Point Designer) - справочная страница инструмента Fixed-Point Tool в документации Simulink ®.

Выход по Тофу

Выберите, как указать длину слова и длину дроби вывода Хафа блока:

  • При выборе Binary point scaling, можно ввести длину слова выхода Хафа, в битах. Длина дроби всегда имеет значение 0.

  • При выборе Slope and bias scaling, можно ввести длину слова, в битах, выходного сигнала Хафа. Уклон всегда имеет значение 0. Все сигналы в блоках Computer Vision Toolbox имеют смещение 0.

Выход тета

Выберите, как указать длину слова и длину дроби вывода тета блока:

  • При выборе Binary point scaling, можно ввести длину слова и длину дроби вывода тета, в битах.

  • При выборе Slope and bias scaling, можно ввести длину слова, в битах, и наклон выхода тета. Все сигналы в блоках Computer Vision Toolbox имеют смещение 0.

Алгоритм

Блок преобразования Хафа реализует стандартное преобразование Хафа (SHT). SHT использует параметрическое представление линии:

Предполагается, что верхний левый угловой пиксель имеет значение x = 0, y = 0.

Переменная rho указывает перпендикулярное расстояние от начала до линии.

Переменная тета указывает угол наклона нормали от оси X. Диапазон тета −π2≤θ<+π2 с размером шага, определяемым параметром разрешения Тета (радианы). SHT измеряет угол линии по часовой стрелке относительно положительной оси X.

Блок преобразования Хафа создает матрицу накопителя. Пара (rho, theta) представляет местоположение ячейки в матрице накопителя. Каждый допустимый (логический true) пиксель входного двоичного изображения, представленного (R, C), создает значение rho для всех значений theta. Блок квантует значения rho до ближайшего числа в векторе rho. Вектор rho зависит от размера входного изображения и заданного пользователем разрешения rho. Блок увеличивает счетчик (первоначально установленный равным нулю) в тех ячейках массива накопителей, которые представлены парами (rho, theta), найденными для каждого пикселя. Этот процесс подтверждает, что точка (R, C) находится на линии, определяемой (rho, theta). Блок повторяет этот процесс для каждого логического истинного пикселя в изображении. Блок Хафа выводит результирующую матрицу накопителя.

См. также

Найти локальные максимумы

Инструментарий компьютерного зрения

Линии Хафа

Инструментарий компьютерного зрения

hough

Toolbox™ обработки изображений

houghlines

Панель инструментов обработки изображений

houghpeaks

Панель инструментов обработки изображений

Расширенные возможности

Создание кода C/C + +
Создайте код C и C++ с помощью Simulink ® Coder™

.
Представлен до R2006a