主要内容

边缘检测器

查找边缘灰度像素流的对象

  • 边缘检测器块

库:
愿景HDL工具箱/分析和提高

描述

边缘检测器块发现一个灰度级的像素的边缘流使用Sobel,罗伯茨普瑞维特,或方法。可变块输入像素和导数近似矩阵像素的梯度大小两个正交的方向。然后比较的平方和的平方梯度的一个可配置的阈值来确定渐变代表的优势。

默认情况下,块返回一个二进制图像的像素值。一个像素值表示像素是一个优势。你可以禁用边缘的输出。您还可以使输出的梯度值在每个像素的两个正交的方向。

港口

这个块使用流像素帧控制接口和总线信号。这个接口允许块独立运作的图像大小和格式。的像素,边缘,在这个街区和梯度端口支持单像素流或multipixel流。金宝app单一像素流接受并返回一个单一的像素值每个时钟周期。Multipixel流接受并返回一个向量的像素每个时钟周期来支持高的帧率或高分辨率格式。金宝app的值对应于数量的像素参数的帧像素块。随着像素块接受并返回pixelcontrol总线包含五个控制信号。控制信号表示每个像素的有效性及其位置的框架。multipixel流,一组控制信号适用于所有像素的向量。一个框架(像素矩阵)转换成一个串行像素流和控制信号,使用帧像素块。接口的完整描述,请参阅流像素接口

输入

全部展开

此块支持单一像素流或m金宝appultipixel流。对于单一像素流,指定一个输入像素作为一个标量强度值。对于multipixel流,指定一个向量的两个,四个或八个像素强度值。为如何设置您的模型的细节multipixel流,明白了过滤器Multipixel视频流

这一块不支持多组分流。金宝app处理多组分流,复制块为每个组件。的pixelcontrol总线组件是一样的,所以你可以连接一个总线多个复制块。

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

数据类型:使用uint|int|不动点||

pixelcontrol总线包含五个信号。的信号描述像素的有效性和它的位置在框架。有关更多信息,请参见像素控制总线

multipixel流,每个像素值的向量都有一组控制信号。因为只有一个向量有效的信号的像素矢量必须所有有效或无效。的hStart音速启动适用于最低的像素信号指数向量中。的这个到公开发表适用于最高的像素信号指数向量中。

数据类型:公共汽车

定义了一个边缘阈值,指定为一个标量。块比较此值的平方的平方和的梯度。

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

数据类型:||int|使用uint|不动点

输出

全部展开

针对单一像素流,边缘是布尔标量。multipixel流,边缘是一个向量的1布尔值。每个像素值表示像素是否优势。

数据类型:布尔

垂直和水平梯度值计算内核集中在一个像素位置。

对于单一像素流,块的回报全球之声“大酒店”作为标量值。multipixel流块返回全球之声“大酒店”的向量1的值。

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

依赖关系

要启用这些端口,设置方法索贝尔普瑞维特

数据类型:||int|使用uint|不动点

正交计算梯度值在内核为中心的一个像素的位置。

对于单一像素流,块的回报G45G135作为标量值。multipixel流块返回G45G135的向量1的值。

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

依赖关系

使这些端口设置方法罗伯茨

数据类型:||int|使用uint|不动点

pixelcontrol总线包含五个信号。的信号描述像素的有效性和它的位置在框架。有关更多信息,请参见像素控制总线

multipixel流,每个像素值的向量都有一组控制信号。因为只有一个向量有效的信号的像素矢量必须所有有效或无效。的hStart音速启动适用于最低的像素信号指数向量中。的这个到公开发表适用于最高的像素信号指数向量中。

数据类型:公共汽车

参数

全部展开

主要

当您选择索贝尔普瑞维特块计算水平和垂直梯度,全球之声“大酒店”。当您选择罗伯茨块计算正交的梯度,G45G135。每个方法的细节,请参阅算法

请注意

如果您选择普瑞维特,不能内部数据类型由于1/6系数大。考虑选择输出梯度组件,这样你可以自定义数据类型到一个更小的尺寸。

这个参数被选中时,块返回一个代表二进制流像素边缘检测到输入框。

您必须选择至少一个的输出二进制图像输出梯度组件

这个参数被选中时,块返回的值代表了梯度计算每个像素的两个正交的方向。当您设置方法索贝尔普瑞维特,输出端口全球之声“大酒店”出现在块中。当您设置方法罗伯茨,输出端口G45G135出现在块中。

您必须选择至少一个的输出二进制图像输出梯度组件

你可以设置的阈值从输入端口或对话框。默认值是财产。选择输入端口使Th端口。

块比较此值的平方的平方和的梯度。块将这个值的数据类型梯度。

依赖关系

这个选项是可见的,当你集的阈值财产

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

块分配(N - 1)———线缓冲区大小内存位置存储像素,N在微分近似矩阵的行数。如果你设置方法索贝尔普瑞维特,然后N是3。如果你设置方法罗伯茨,然后N是2。

选择其中一个方法来填充输入图像的边界。关于这些方法的更多信息,请参阅边缘填充

  • 对称的——设置的值填充像素镜子的边缘图像。这个选项可以防止边缘被发现的边界活动的框架。

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

数据类型

指定一个内部定点计算的舍入方法。

当你清楚这个参数,定点和环绕整型值为零值溢出时能上演的是什么数据类型。当您选择该参数,饱和烃的值最大可表示的值。

两个梯度的输出端口的数据类型。默认情况下,块软件不能自动选择数据类型。

依赖关系

启用此参数,主要选项卡上,选择输出梯度组件

提示

  • 当你使用一块内部线缓冲区内启用子系统(金宝app模型),允许信号模式必须保持像素的时间流,包括最低消隐间隔。如果启用模式导致腐败的时机像素流,你可能会看到部分输出帧,损坏像素流控制信号,或模型之间的不匹配金宝app®和HDL仿真结果。您可能需要扩展的消隐间隔,以适应周期时启用低。有关更多信息,请参见配置消隐间隔

算法

全部展开

边缘检测器块提供了三种方法来检测输入图像的边缘。使用不同的近似导数矩阵的方法找到两个正交的梯度。Sobel和普瑞维特方法计算在水平和垂直方向的梯度。罗伯茨方法计算梯度在45度和135度。块使用相同的矩阵边缘检测在计算机视觉的工具箱™。

当你使用multipixel流,使用一行内存块,并实现了一个过滤器的每个并行输入像素。硬件资源的增加是一个权衡增加单像素流吞吐量相比。

方法 方向1 方向2
索贝尔 1 8 ( 1 0 1 2 0 2 1 0 1 ] 1 8 ( 1 2 1 0 0 0 1 2 1 ]
普瑞维特 1 6 ( 1 0 1 1 0 1 1 0 1 ] 1 6 ( 1 1 1 0 0 0 1 1 1 ]
罗伯茨 1 2 ( 1 0 0 1 ] 1 2 ( 0 1 1 0 ]

请注意

普瑞维特系数需要额外的比特精度两个因为他们没有权力。块使用16位代表普瑞维特系数。不能为8位输入,默认大小的梯度是27位。当使用普瑞维特方法时,一个良好的实践是减少单词长度用于梯度计算。选择输出梯度组件复选框,然后在数据类型选项卡中,指定一个较小的字长使用梯度数据类型

可变块输入像素的邻域与导数矩阵,D1和D2。然后比较的平方和的梯度阈值的平方。计算阈值的平方避免构建一个平方根电路。块投梯度上指定的类型数据类型选项卡。阈值的类型转换在广场上的类型相匹配的平方和的梯度。

建筑的边缘检测算法

扩展功能

版本历史

介绍了R2015a

全部展开

另请参阅

对象