Hough Transform

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

Библиотека

Преобразовывания

visiontransforms

  • Hough Transform block

Описание

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

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

BW

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

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

Нет

Хью

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

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

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

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

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

Нет

Theta

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

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

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

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

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

Нет

\rho

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

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

Нет

Параметры

Theta resolution (radians)

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

Rho resolution (pixels)

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

Output theta and rho values

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

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 Designer), страница с описанием на Fixed-Point Tool в документации Simulink®.

Hough output

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

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

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

Theta output

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

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

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

Алгоритм

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

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

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

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

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

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

Find Local Maxima

Computer Vision Toolbox

Hough Lines

Computer Vision Toolbox

hough

Image Processing Toolbox™

houghlines

Image Processing Toolbox

houghpeaks

Image Processing Toolbox

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

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

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