我正在尝试计算我在GPU内存中的纹理(相机捕获)的积分图像(也称为求和区域表),目标是计算所述图像的自适应阈值.我正在使用OpenGL ES 2.0,还在学习:).
我用一个简单的高斯模糊着色器(垂直/水平通过)进行了测试,它工作正常,但我需要一个更大的可变平均面积来获得满意的结果.
我之前在CPU上实现了该算法的一个版本,但是我对如何在GPU上实现它有点困惑.我尝试对每个片段做一个(完全不正确的)测试,例如:
#version 100
#extension GL_OES_EGL_image_external : require
precision highp float;
uniform sampler2D u_Texture; // The input texture.
varying lowp vec2 v_TexCoordinate; // Interpolated texture coordinate per fragment.
uniform vec2 u_PixelDelta; // Pixel delta
void main()
{
// get neighboring pixels values
float center = texture2D(u_Texture, v_TexCoordinate).r;
float a = texture2D(u_Texture, v_TexCoordinate + vec2(u_PixelDelta.x * -1.0, 0.0)).r;
float b = texture2D(u_Texture, v_TexCoordinate + vec2(0.0, u_PixelDelta.y * 1.0)).r;
float c = texture2D(u_Texture, v_TexCoordinate + vec2(u_PixelDelta.x * -1.0, u_PixelDelta.y …Run Code Online (Sandbox Code Playgroud)