边缘检测

边缘检测滤镜用于找出图像中高反差的或者不同颜色之间的边缘,并对这些边缘进行强调或描线处理。

4.0 版有两种边缘检测滤镜,后续版本增加到三种。

边缘检测

在 4.0 版本加入.

这是一个常规的边缘检测滤镜,在 4.0 版前各自独立的同类滤镜已被整合到此滤镜。这个滤镜也可在滤镜图层和滤镜笔刷引擎中使用。

../../_images/Krita_4_0_edge_detection.png

(左一) 原图;(左二) 应用 Prewitt 边缘检测;(左三) 把 Prewitt 边缘检测的结果应用到透明度通道;(左四) 在原图之上新建滤镜图层并应用左三设置,混合模式设为“相乘”。

公式

用于边缘检测的卷积核。不同卷积核的区别很微妙,可以通过试验来摸索。

简单

这个卷积核并不是方形的,这是它跟其他两种卷积核最不一样的地方。这个特点使它的处理速度更快,但它不会把对角方向的像素纳入检测范围。

Prewitt

这是一个方形的卷积核,它会把对角方向和正交方向的像素纳入检测范围,能产生非常明显的效果。

Sobel

这是一个方形的卷积核,与 Prewitt 相比,它更偏重对角方向的像素而不是正交方向的像素,产生的结果与 Prewitt 有微妙的差异。

输出

输出方向。

所有边缘

此模式会把边缘检测的结果卷积到所有方向,并通过勾股定理进行合并。一般情况下应该使用此项。

上边缘

此模式只检测从上到下的数值变化,因此它只会描绘上边缘线条。

下边缘

此模式只检测从下到上的数值变化,因此它只会描绘下边缘线条。

右边缘

此模式只检测从右到左的数值变化,因此它只会描绘右边缘线条。

左边缘

此模式只检测从左到右的数值变化,因此它只会描绘左边缘线条。

弧度方向

此模式会把边缘检测的结果卷积到所有方向,并尝试按照设定的弧度的方向输出线条。

水平/垂直半径

边缘检测的半径。默认值为 1,增加该数值会让线条变得更粗。

将结果应用到透明度通道

边缘检测会被应用于图像的灰度副本,然后把处理结果输出到图像的透明度通道,这意味着它只会输出线条。

高斯高通

高斯高通是边缘检测滤镜的一种。它通常用来增强图像的对比度,就像锐化滤镜那样。而在材质的制作流程中,它通常被用来消除材质局部的渐变效果。

半径

高斯高通滤镜中的半径参数与边缘检测滤镜中的类似。

如果将高斯高通滤镜用于锐化,请建立一个滤镜图层并加载此滤镜,然后将它的混合模式设为“柔光”、“叠加”、“强光”、“线性光”之一,不同的混合模式的锐化效果会有微妙区别。

../../_images/highpass_filter_sharpen.png

左上:原图;右上:高斯高通 - 半径 3;左下:高斯高通 - 半径 3 - 线性光模式与原图混合;右下:高斯高通 - 半径 3 - 柔光模式与原图混合。

如果将高斯高通滤镜用于移除材质的局部渐变,请如下操作:1) 为材质图层创建一个克隆图层;2) 为该克隆图层建立一个滤镜蒙版,加载此滤镜;3) 在克隆图层和原始图层之间插入一个滤镜图层,加载高斯模糊滤镜,将半径设为最大;4) 将克隆图层的混合模式设为明度或者相乘 (本例添加了两个高斯高通滤镜蒙版,才能将亮度降低到使用相乘模式时不至于颜色太重)。

../../_images/highpass_filter_local_gradient_removal.png

左图:原始图像;右图:高斯高通处理结果以明度模式混合 - 消除本地渐变,同时保留锐利细节。在本例中,虽然局部渐变的消除损失了图像的细节,但处理后的结果可被用于制作高度贴图。

高度贴图转法线贴图

在 4.0 版本加入.

../../_images/Krita_4_0_height_to_normal_map.png

这是一个通过边缘检测来把高度贴图转换为法线贴图的滤镜。这个滤镜也可以用于滤镜图层和滤镜笔刷引擎。

公式

用于边缘检测的卷积核。不同卷积核的区别很微妙,可以通过试验来摸索。

简单

这个卷积核并不是方形的,这是它跟其他两种卷积核最不一样的地方。这个特点使它的处理速度更快,但它不会把对角方向的像素纳入检测范围。

Prewitt

这是一个方形的卷积核,它会把对角方向和正交方向的像素纳入检测范围,能产生非常明显的效果。

Sobel

这是一个方形的卷积核,与 Prewitt 相比,它更偏重对角方向的像素而不是正交方向的像素,产生的结果与 Prewitt 有微妙的差异。

通道

选择该图层被用作灰阶高度贴图的色彩通道。

水平/垂直半径

边缘检测的半径。默认值是 1,增加此数值将提高法线贴图的效果强度。如果法线贴图的效果不够明显,可调整此数值。

XYZ

这是一组 XYZ 混合映射选单,你可以在这里把红、绿、蓝映射到不同的 3D 法线矢量坐标系。此功能主要是为了兼顾 MikkT-space 法线贴图 (+X, +Y, +Z) 和 OpenGL 标准法线贴图 (+X, -Y, +Z) 的区别而准备的。