主要内容

visionhdl.ImageFilter

二维冷杉过滤

描述

visionhdl.ImageFilter系统对象™执行二维有限脉冲响应(杉木)像素流过滤。它支持金宝app使用可编程滤波器系数。

过滤一个像素流:

  1. 创建visionhdl.ImageFilter对象并设置其属性。

  2. 调用对象的参数,就好像它是一个函数。

了解更多关于系统对象是如何工作的,看到的系统对象是什么?

创建

描述

F= visionhdl.ImageFilter (的名字,价值)返回一个二维冷杉过滤器一个像素流过滤系统对象。设置属性使用一个或多个名称-值对。在单引号附上每个属性的名字。

例子

F= visionhdl.ImageFilter (多项式系数,线宽,的名字,价值)返回一个2 d冷杉过滤系统对象,系数属性设置为多项式系数,LineBufferSize属性设置为线宽和指定的一个或多个额外的选项名称,值对参数。

属性

全部展开

属性,除非另有注明nontunable后,这意味着你不能改变它们的值调用对象。对象锁当你叫他们,释放函数打开它们。

如果一个属性可调在任何时候,你可以改变它的值。

改变属性值的更多信息,请参阅系统设计在MATLAB使用系统对象

指定的源滤波器系数,作为其中一个值。

  • “属性”- - - - - -对象中指定使用滤波器系数系数财产。

  • 输入端口的- - - - - -对象使用的滤波器系数多项式系数论点。

滤波器的系数,指定为一个矩阵。每个维度的矩阵必须至少有2个元素和不超过64的元素。

该软件支持金宝app仿真的数据类型,但不是HDL代码生成。

依赖关系

适用于当您设置这个属性CoefficientsSource“属性”

填充输入图像的边界方法,指定为其中一个值。

  • “不变”——解释之外的像素图像帧一个常数值。

  • “复制”——重复的值像素的边缘图像。

  • “对称”——设置的值填充像素镜子的边缘图像。

  • “反射”——设置填充像素的值,以反映在像素的边缘图像。

  • “没有”——排除填充逻辑。外的对象不设置像素图像帧为任何特定的值。这个选项可以减少硬件资源使用的对象,减少帧之间的消隐,是必需的。然而,此选项会影响输出的准确性的边缘像素帧。保持像素流时间,输出帧作为输入帧大小是一样的。避免使用像素从定义padding值计算,掩盖了n/ 2像素为下游操作框架的边缘。n的大小操作内核。更多细节,请参阅通过呕吐填充提高吞吐量

关于这些方法的更多信息,请参阅边缘填充

值用来垫输入图像的边界,指定为一个整数。对象将该值转换为相同的数据类型作为输入像素。

依赖关系

这个参数适用于当您设置PaddingMethod“不变”

行内存缓冲区的大小,指定为一个正整数。选择适应的2的幂活动像素的数量在一个水平线。如果指定的值不是一个两个的力量,最大缓冲区使用下一个两个的力量。

对象分配(系数行- 1)———LineBufferSize内存位置存储像素。

方法确定的数据类型滤波器系数,指定为其中一个值。

  • 与第一次输入的”——集系数的数据类型的数据类型相匹配pixelin论点。

  • “自定义”——集系数的数据类型中定义的数据类型相匹配CustomCoefficientsDataType财产。

将系数转换为指定的数据类型时,该对象轮到最近的可表示的值,使饱和溢出。

依赖关系

适用于当您设置这个属性CoefficientsSource“属性”

数据类型的滤波器系数,指定为numerictype(年代,西城,FL),在那里年代1(真正的)签署并0(为无符号),字长,FL是位部分的长度。

依赖关系

适用于当您设置这个属性CoefficientsDataType“自定义”

方法确定输出像素的数据类型指定为其中一个值。

  • 与第一次输入的——设置输出像素的数据类型的数据类型相匹配pixelin论点。

  • “充分精确”——计算内部和输出数据类型使用完整精确的规则。这些规则提供精确定点数字和防止量化的对象。所需的对象增加了比特作为防止舍入和溢出。

  • “自定义”——设置输出像素的数据类型的数据类型相匹配CustomOutputDataType财产。

数据类型为输出像素,指定为numerictype(年代,西城,FL),在那里年代1(真正的)签署并0(为无符号),字长,FL是位部分的长度。

依赖关系

这个属性只适用于当您设置OutputDataType“自定义”

当输入整数或定点数据类型,内部计算的算法使用定点算术。这个属性输入数据类型时并不适用

当输入整数或定点数据类型,内部计算的算法使用定点算术。这个属性输入数据类型时并不适用

使用

描述

例子

(pixelout,ctrlout)= F (pixelin,ctrlin)返回下一个像素,pixelout过滤的图像应用系数所带来的系数属性描述的图像输入像素流,pixelin

(pixelout,ctrlout)= F (pixelin,ctrlin,多项式系数)返回下一个像素,pixelout过滤的图像应用系数所带来的多项式系数参数描述的图像输入像素流,pixelin。对象样本的值多项式系数参数只在一帧的开始并忽略任何改变在一个框架。要启用这种语法,设置CoefficientsSource财产输入端口的

这个对象使用一个流像素结构框架控制信号接口。这个接口允许对象独立运作的图像大小和格式,并联系其他视觉HDL工具箱™对象。接受的对象并返回一个标量像素值包含五个信号和控制信号的结构。控制信号表示每个像素的有效性和它的位置。将一个像素矩阵转化为一个像素流和控制信号,使用visionhdl.FrameToPixels对象。接口的描述,请参阅流像素接口

输入参数

全部展开

单一的像素,指定为一个标量值。

该软件支持金宝app仿真的数据类型,但不是HDL代码生成。

你可以用multipixel流模拟系统对象接口,但是你不能生成系统对象的HDL代码使用multipixel流。为multipixel算法生成HDL代码,使用等效模型金宝app®块。

数据类型:使用uint|int|fi||

控制信号的输入像素流,指定为一个pixelcontrol包含五个结构逻辑数据类型的信号。的信号描述像素的有效性和它的位置在框架。更多细节,请参阅像素控制结构

数据类型:结构体

滤波器系数,指定为一个矩阵。每个维度的矩阵必须至少有2个元素和不超过16个元素。对象样本的值多项式系数参数只在一帧的开始并忽略任何改变在一个框架。

依赖关系

要启用这个论点,设置CoefficientsSource财产输入端口的

数据类型:使用uint|int|fi||

输出参数

全部展开

单一像素过滤,作为标量值返回。

配置的数据类型输出像素使用OutputDataTypeCustomOutputDataType属性。

数据类型:使用uint|int|fi||

控制信号的输出像素流,作为一个返回pixelcontrol包含五个结构逻辑数据类型的信号。的信号描述像素的有效性和它的位置在框架。更多细节,请参阅像素控制结构

数据类型:结构体

对象的功能

使用一个目标函数,指定系统对象作为第一个输入参数。例如,释放系统资源的系统对象命名obj使用这个语法:

发行版(obj)

全部展开

一步 运行系统对象算法
释放 释放资源,并允许修改系统对象属性值和输入特征
重置 重置的内部状态系统对象

例子

全部折叠

这个例子实现了一个二维模糊滤波器缩略图。

从文件加载源图像。选择部分图像匹配所需的测试尺寸。

frmOrig = imread (“rice.png”);frmActivePixels = 64;frmActiveLines = 48;frmInput = frmOrig (1: frmActiveLines, 1: frmActivePixels);图imshow (frmInput,“InitialMagnification”标题,300)输入图像的

图包含一个坐标轴对象。标题输入图像的坐标轴对象包含一个类型的对象的形象。

创建一个序列化器对象和指定的像素区域的大小。

frm2pix = visionhdl.FrameToPixels (“NumComponents”,1“VideoFormat”,“自定义”,“ActivePixelsPerLine”frmActivePixels,“ActiveVideoLines”frmActiveLines,“TotalPixelsPerLine”frmActivePixels + 10,“TotalVideoLines”frmActiveLines + 10,“StartingActiveLine”6“FrontPorch”5);

创建一个过滤器对象。

filt2d = visionhdl.ImageFilter (“系数”,(2,2)/ 4,“CoefficientsDataType”,“自定义”,“CustomCoefficientsDataType”numerictype (0, 1, 2),“PaddingMethod”,“对称”);

对测试图像通过调用序列化器对象进行序列化。pixIn是一个向量的强度值。ctrlIn是一个矢量控制信号结构。

[pixIn, ctrlIn] = frm2pix (frmInput);

准备处理preallocating像素的输出向量。

[~,~,numPixelsPerFrame] = getparamfromfrm2pix (frm2pix);pixOut = 0 (numPixelsPerFrame 1“uint8”);ctrlOut = repmat (pixelcontrolstruct numPixelsPerFrame 1);

中每一个像素填充框架,计算过滤值。监控控制信号来确定对象的延迟。的延迟滤波器配置取决于:

  • 活跃的像素的数量。

  • 过滤器的大小的内核。

  • 优化对称或重复系数。

foundValIn = false;foundValOut = false;p = 1: numPixelsPerFrame如果(ctrlIn (p)。有效& & foundValIn = = 0) foundValIn = p;结束[pixOut (p)、ctrlOut (p)) = filt2d (pixIn (p), ctrlIn (p));如果(ctrlOut (p)。有效& & foundValOut = = 0) foundValOut = p;结束结束sprintf (“对象延迟% d周期”foundValOut-foundValIn)
ans = '对象延迟101次'

创建一个反序列化器对象的格式相匹配的格式序列化器。像素流转换为一个图像帧通过调用反序列化器对象。由此产生的图像显示。

pix2frm = visionhdl.PixelsToFrame (“NumComponents”,1“VideoFormat”,“自定义”,“ActivePixelsPerLine”frmActivePixels,“ActiveVideoLines”frmActiveLines,“TotalPixelsPerLine”,frmActivePixels + 10);[frmOutput, frmValid] = pix2frm (pixOut ctrlOut);如果frmValid图imshow (frmOutput,“InitialMagnification”标题,300)输出图像的结束

图包含一个坐标轴对象。标题为输出图像的坐标轴对象包含一个类型的对象的形象。

算法

这个系统对象实现的算法描述图像滤波块引用页面。

扩展功能

版本历史

介绍了R2015a

全部展开

另请参阅

|(图像处理工具箱)|