Star

Created With

linkConvolucion de Imagenes - Hardware

linkPlanteamiento del Problema

Aplicar una mascara de convolucion a una imagen usando una matriz "kernel" por Hardware.

linkCodigo & Resultados

linkImagen Mahakala Original y una Mascara de Convolucion con P5

1link> precision mediump float;

2link>

3link> uniform sampler2D texture;

4link>

5link> uniform vec2 texOffset;

6link>

7link> uniform float param;

8link>

9link> varying vec4 vVertexColor;

10link>

11link> varying vec2 vTexCoord;

12link>

13link> void main() {

14link>

15link> vec4 col0 = texture2D(texture, vTexCoord + vec2(-texOffset.s, -texOffset.t));

16link> vec4 col1 = texture2D(texture, vTexCoord + vec2(0.0, -texOffset.t));

17link> vec4 col2 = texture2D(texture, vTexCoord + vec2(+texOffset.s, -texOffset.t));

18link> vec4 col3 = texture2D(texture, vTexCoord + vec2(-texOffset.s, 0.0));

19link> vec4 col4 = texture2D(texture, vTexCoord + vec2(0.0, 0.0));

20link> vec4 col5 = texture2D(texture, vTexCoord + vec2(+texOffset.s, 0.0));

21link> vec4 col6 = texture2D(texture, vTexCoord + vec2(-texOffset.s, +texOffset.t));

22link> vec4 col7 = texture2D(texture, vTexCoord + vec2(0.0, +texOffset.t));

23link> vec4 col8 = texture2D(texture, vTexCoord + vec2(+texOffset.s, +texOffset.t));

24link> vec4 sum = param * col4 - (col0 + col1 + col2 + col3 + col5 + col6 + col7 + col8);

25link> gl_FragColor = vec4(vec3(sum), 1.0) * vVertexColor;

26link> }

linkVideo Dedos Original y una Mascara de Convolucion con P5

Hacer click para correr el video.

1link> precision mediump float;

2link>

3link> uniform sampler2D texture;

4link>

5link> uniform vec2 texOffset;

6link>

7link> uniform float param;

8link>

9link> varying vec4 vVertexColor;

10link>

11link> varying vec2 vTexCoord;

12link>

13link> void main() {

14link>

15link> vec4 col0 = texture2D(texture, vTexCoord + vec2(-texOffset.s, -texOffset.t));

16link> vec4 col1 = texture2D(texture, vTexCoord + vec2(0.0, -texOffset.t));

17link> vec4 col2 = texture2D(texture, vTexCoord + vec2(+texOffset.s, -texOffset.t));

18link> vec4 col3 = texture2D(texture, vTexCoord + vec2(-texOffset.s, 0.0));

19link> vec4 col4 = texture2D(texture, vTexCoord + vec2(0.0, 0.0));

20link> vec4 col5 = texture2D(texture, vTexCoord + vec2(+texOffset.s, 0.0));

21link> vec4 col6 = texture2D(texture, vTexCoord + vec2(-texOffset.s, +texOffset.t));

22link> vec4 col7 = texture2D(texture, vTexCoord + vec2(0.0, +texOffset.t));

23link> vec4 col8 = texture2D(texture, vTexCoord + vec2(+texOffset.s, +texOffset.t));

24link> vec4 sum = param * col4 - (col0 + col1 + col2 + col3 + col5 + col6 + col7 + col8);

25link> gl_FragColor = vec4(vec3(sum), 1.0) * vVertexColor;

26link> }

Convolucion de Imagenes - HardwarePlanteamiento del ProblemaCodigo & ResultadosImagen Mahakala Original y una Mascara de Convolucion con P5Video Dedos Original y una Mascara de Convolucion con P5

Home

Workshopschevron_right
Imaging & Videochevron_right
Softwarechevron_right
Hardwarechevron_right
Renderingchevron_right

Algovis Computer Graphics HCI

P5 Code Snippetschevron_right
Memberschevron_right