Выполнение 2-D фильтрации потока пикселей
visionhdl.BilateralFilter объект фильтрует изображения с сохранением ребер. В некоторых случаях двусторонняя фильтрация приводит к обесцвечиванию с сохранением краев, отделению текстуры от освещения и к закрашиванию для улучшения краев. Фильтр заменяет каждый пиксель в центре окрестности на среднее значение, которое вычисляется с использованием пространственных и интенсивных гауссовых фильтров. Объект определяет коэффициенты фильтра из:
Пространственное расположение в окрестности (аналогично гауссову фильтру размытия)
Разность интенсивности от значения соседнего центра
Объект обеспечивает два стандартных параметра отклонения для независимого управления коэффициентами пространственного и интенсивности.
Для выполнения двусторонней фильтрации потока пикселей:
Создать visionhdl.BilateralFilter и задайте его свойства.
Вызовите объект с аргументами, как если бы это была функция.
Дополнительные сведения о работе системных объектов см. в разделе Что такое системные объекты?.
filt2d = visionhdl.BilateralFilter( возвращает двусторонний фильтр System object™. Задайте свойства, используя пары имя-значение. Заключите каждое имя свойства в отдельные кавычки. Name,Value)
Например:
filt2d = visionhdl.BilateralFilter('CoefficientsDataType','Custom',...
'CustomCoefficientsDataType',numerictype(0,18,17))[ возвращает значение отфильтрованного пикселя и сопутствующие управляющие сигналы. pixelOut,ctrlOut] = filt2d(pixelIn,ctrlIn)
Этот объект использует потоковый пиксельный интерфейс со структурой для сигналов управления кадрами. Этот интерфейс позволяет объекту работать независимо от размера и формата изображения и подключаться к другим объектам Vision HDL Toolbox™. Объект принимает и возвращает значение скалярного пикселя и управляющие сигналы в виде структуры, содержащей пять сигналов. Сигналы управления указывают достоверность каждого пикселя и его местоположение в кадре. Чтобы преобразовать матрицу пикселей в поток пикселей и управляющие сигналы, используйте visionhdl.FrameToPixels объект. Полное описание интерфейса см. в разделе Потоковый пиксельный интерфейс.
Чтобы использовать функцию объекта, укажите объект System в качестве первого входного аргумента. Например, для освобождения системных ресурсов объекта System с именем obj, используйте следующий синтаксис:
release(obj)