边缘计算检测是一种识别图像发生明暗变化的区域的方法。该方法可用于检测边界和曲面的拓扑变化。
许多有趣的视觉效果可以通过边缘计算检测来实现。比方说,边缘计算检测能让三维场景渲染得就像是二维铅笔画。
第一步,正常地绘制一个场景,包含茶壶和圆环,然后用边缘检测技术对产生的纹理进行检测。
采用卷积过滤或卷积核(也不要称为过滤核)边缘检测技术。卷积滤器是一种矩阵,定义了像素如何根据预定义的权重将其周围的像素求和。左侧为3x3过滤器,右边为3x3像素的数据。像素数据的值可以表示灰度或RGB色块。
过滤器用于右侧像素数据,其计算结果将取代中心像素(29)。本例计算的结果是(25+27+2*29+31+33)=174。
采用卷积过滤,不仅需要访问原始像素数据,还需要一个独立的缓冲区来存储过滤后的结果。
在这里,我们使用两次渲染来实现它,在第一次渲染的时候,我们将图像渲染为一个纹理,第二次渲染的时候我们用一个过滤器,然后把过滤的结果输出到屏幕上。
Sobel算子是一种最简单的基于卷积的边缘检测方法。Sobel算子利用了图像像素亮度的差别。该软件使用两个3x3过滤器。
采用这两种滤镜得到纵向和横向两组分的亮度差。利用这些差分数据就能找到物体的边缘。当等价分数据大于某一值时,我们认为这个像素在物体的边缘。
以下是Sobel算子使用的3x3过滤核心:
对于这种情况,我们将在第二次处理中使用此过滤器。首先,我们使用光照模型来绘制场景到纹理的光照模型。然后,我们用滤镜对纹理进行处理,并画出被识别的物体的边缘。
建立与窗口大小相同的帧缓冲对象。帧缓冲区对象的第一颜色连接点为0号纹理单元。这一次,我们将场景渲染成纹理。
边缘计算探测技术已应用于计算机视觉、图像处理、图像分析和图像模式识别等领域。