Questions tagged «edge-detection»

2
OpenGL-边缘检测
我想加载任意网格并沿边缘绘制粗黑线以获得类似卡通色调的外观。我设法通过使用模板缓冲区在对象周围绘制了一个黑色的轮廓。您可以在此处查看结果: 但是缺少的是对象本身的黑线。我考虑过检查法线不连续性:检查相邻像素的法向矢量是否不同于当前像素。如果是,则找到边缘。不幸的是,无论是在OpenGL中还是在GLSL顶点/片段着色器中,我都不知道如何实现这种方法。 对于这种方法或其他有关边缘检测的帮助,我将非常高兴。 编辑:我不对我的网格使用任何纹理。 太精确了,我想创建一个看起来像这样的CAD / CAM解决方案(摘自Top Solid https://www.youtube.com/watch?v=-qTJZtYUDB4):

1
OpenGL GLSL-Sobel边缘检测过滤器
关于此主题,我已经在GLSL中成功实现了Sobel Edge Detection过滤器。这是过滤器的片段着色器代码: #version 330 core in vec2 TexCoords; out vec4 color; uniform sampler2D screenTexture; mat3 sx = mat3( 1.0, 2.0, 1.0, 0.0, 0.0, 0.0, -1.0, -2.0, -1.0 ); mat3 sy = mat3( 1.0, 0.0, -1.0, 2.0, 0.0, -2.0, 1.0, 0.0, -1.0 ); void main() { vec3 diffuse = texture(screenTexture, …
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.