Tag: Metal

迅捷/金属图像处理

1.边缘检测 边缘检测是空间滤波的一种。 边缘是对象的外部限制。 在边缘,图像的亮度急剧变化。 边缘检测是为了计算图像中位置亮度的急剧变化。 如何计算仓位? 使用差分。 在连续域中,图像的导数为 其中f(x,y)是输入图像,与上一节中的I(i,j)相同。 当前计算将在离散域中执行,因此需要近似值。 (x,y)表示每个像素的索引,以金属表示。 因此,这些值的增量足够小。 可以使用以下近似值。 这只是一个减法!! 简单。 再考虑以下情况。 目标像素是I(2,2) 。 然后,目标像素两侧的增量为 水平: I(2,3)– I(2,1) 垂直: I(3,2)– I(1,2) 水平和垂直内核变成 试试这个过滤器。 SwiftImageProcessor/Shader/Edge/derivatives.metal准备SwiftImageProcessor/Shader/Edge/derivatives.metal 。 双for循环是卷积。 后一部分是颜色转换。 这将生成landscape_derivatives.jpg 。 可能会得到边缘。 根据内核定义了一些特殊的过滤器,并在我的项目中准备了这些过滤器。 威特过滤器 索贝尔滤波器 拉普拉斯 拉普拉斯滤波器在使用二阶导数方面与Prewitt和Sobel不同。 导数在图像处理中由增量近似,因此二阶导数为 在数学中,拉普拉斯定义为以下等式 这个方程很重要,但与下面的内核矩阵无关。 SwiftImageProcessor/Shader/Edge/laplace.metal 。 所以尝试一下。 其他文章 0.基本 2.平滑滤波器,高斯和双边