【发布时间】:2016-10-06 15:20:05
【问题描述】:
我正在使用 opengl 为 android 开发色度键(绿屏)过滤器;唯一的区别是我不仅要替换绿色背景,还要替换用户传递的任何颜色。我已经能够替换颜色,但问题是它也会替换光强度非常高的物体的颜色。
谁能帮我减少纹理的眩光,以便我的滤镜可以按预期工作?
或任何完美工作的参考绿屏过滤器。
任何事情都会受到欢迎。
编辑:我添加了截图来解释情况,这里我尝试用这些云替换红色背景,它适用于所有区域,除了其中有眩光的区域。我可以通过增加容差值来克服这个问题,但这会使其替换对象中的一些黄色像素。
【问题讨论】:
-
您能提供一个未经编辑的示例图像吗?您当前的组合公式也可能有用。
-
@ybungalobill 请在此链接中找到图像imgur.com/a/Qj7p2 着色器:- 变化的 highp vec2 textureCoordinate;变化的 highp vec2 textureCoordinate2;统一浮动阈值灵敏度;统一 vec3 colorToReplace; void main() { vec4 color = texture2D(inputImageTexture, textureCoordinate); vec4 背景 = texture2D(inputImageTexture2, textureCoordinate2); vec3 diff = color.xyz - colorToReplace; if(dot(diff, diff)
-
@ybungalobill 您可以查看此链接以供参考。这将解释我为 android shadertoy.com/view/XsfGzn 所做的事情
-
@AdarshSharma:把类似的东西放在你的问题中,而不是评论。
-
@NicolBolas 好的。现在,你能帮帮我吗?
标签: android opengl-es shader fragment-shader