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

Найдите строки в изображениях

Библиотека

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

visiontransforms

Описание

Используйте блок Hough Transform, чтобы найти прямые линии в изображении. Блок выводит матрицу пробела Хью и, опционально, ось ро и векторы оси теты. Пиковые значения в матрице представляют потенциальные прямые линии во входном изображении. Обычно блок Hough Transform предшествует блоку Hough Lines, который использует вывод этого блока, чтобы найти прямые линии в изображении. Можно вместо этого использовать пользовательский алгоритм, чтобы определить местоположение peaks в матрице пробела Хью в порядке идентифицировать потенциальные прямые линии.

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

BW

Матрица, которая представляет двухуровневое изображение

Булевская переменная

Нет

Хью

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

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

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

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

  • 8-, 16-, 32-битное беззнаковое целое

Нет

Тета

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

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

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

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

  • 8-, 16-, 32-битное целое число со знаком

Нет

\rho

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

То же самое как порт Theta

Нет

Параметры

Theta resolution (radians)

Задайте интервал интервалов Преобразования Хафа вдоль оси теты.

Rho resolution (pixels)

Задайте интервал интервалов Преобразования Хафа вдоль оси ро.

Output theta and rho values

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

Output data type

Задайте тип данных своего выходного сигнала.

Rounding mode

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

Overflow mode

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

Sine table

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

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

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

Табличные значения синуса не повинуются параметры Overflow mode и Rounding mode ; они всегда насыщают и вокруг к Nearest.

Rho

Выберите, как задать размер слова и дробная продолжительность значений ро:

  • Когда вы выбираете Binary point scaling, можно ввести размер слова и дробная продолжительность значений ро в битах.

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

Product output

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

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

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

Смотрите Типы данных Умножения для рисунков, изображающих использование продукта вывод.

Accumulator

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

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

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

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

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

Lock data type settings against change by the fixed-point tools

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

Hough output

Выберите, как задать размер слова и дробная продолжительность вывода Хью блока:

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

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

Theta output

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

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

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

Алгоритм

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

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

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

Переменная тета указывает на угол наклона нормальной строки от оси X. Область значений теты π2θ<+π2 с неродным размером, определенным параметром Theta resolution (radians). SHT измеряет угол строки по часовой стрелке относительно положительной оси X.

Блок Hough Transform создает матрицу аккумулятора. (Ро, тета) пара представляют местоположение ячейки в матрице аккумулятора. Каждое допустимое (логическая истина) пиксель входного двухуровневого изображения, представленного (R, C), производит значение ро для всех значений теты. Блок квантует значения ро к самому близкому номеру в векторе ро. Вектор ро зависит от размера входного изображения и заданного пользователями разрешения ро. Блок постепенно увеличивает счетчик (первоначально обнуленный) в тех элементах массива аккумулятора, представленных (ро, тета) пары, найденные для каждого пикселя. Этот процесс подтверждает точку (R, C), чтобы быть на строке, заданной (ро, тета). Блок повторяет этот процесс для каждого логического истинного пикселя в изображении. Блок Hough выводит получившуюся матрицу аккумулятора.

Примеры

Смотрите обнаруживают строки в изображениях в руководстве пользователя Computer Vision Toolbox.

Смотрите также

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

Computer Vision Toolbox

Хью выравнивает

Computer Vision Toolbox

hough

Image Processing Toolbox™

houghlines

Image Processing Toolbox

houghpeaks

Image Processing Toolbox

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

Генерация кода C/C++
Генерация кода C и C++ с помощью Simulink® Coder™.

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