FurMark
Current Version: 1.14.1
»FurMark homepage
»FurMark 1.9.x Submissions

GPU Caps Viewer
Current Version: 1.21.1
»GPU Caps Viewer homepage
»GPU DB Submissions

PhysX FluidMark
Current Version: 1.5.2
»FluidMark homepage
»FluidMark 1.4.x Submissions

GeeXLab
Current Version: 0.4.0
»GeeXLab homepage
»GeeXLab Overview

GPU Shark
Current Version: 0.9.1
»GPU Shark homepage

TessMark
Current Version: 0.3.0
»TessMark homepage

ShaderToyMark
Current Version: 0.3.0
»ShaderToyMark homepage
»ShaderToyMark Scores

Blogs
»JeGX's HackLab

Geeks3D's Articles
»GPU Memory Speed Demystified

»Multi-Threading Programming Resources

»GeForce and Radeon OpenCL Overview

»How to Get your Multi-core CPU Busy at 100%

»How To Make a VGA Dummy Plug

»Night Vision Post Processing Filter


Demoniak3D
Current Version: 1.23.0
»Demoniak3D
»Download
»Libraries and Plugins
»Demos
»Online Help - Reference Guide
»Codes Samples

Language

Language:

3D Graphics Search Engine:

The Geeks Of 3D

 
Image Filtering with GLSL - Convolution Kernels

By Jérôme 'JeGX' Guinot - jegx [at] ozone3d [dot] net

Initial draft: December 8, 2005
Last update: January 8, 2006


Translated from french by Samir Fitouri




[ Index ]

Introduction | Page 2 | Page 3 | Page 4 | Page 5 | Page 6 | Page 7

»Next Page



Stumble it! | | | |





1 - Introduction

2 - Gaussian Filter

3 - Mean Filter

4 - Laplacian Filter

5 - Emboss Filter

6 - Sharpness Filter

7 - Further Reading

8 - Downloads




1 - Introduction


In this tutorial, we will see how to implement in GLSL (OpenGL Shading Language) the filters usually used in image processing: blur (Gaussian Filter), de-dusting (Mean Filter), edegs detection (Laplacian Filter), emboss and sharpness. All these filters are found in all image processing softwares (Photoshop, Paintshop Pro...).

OpenGL Logo


The convolution is an operation in which the final pixel is the weighted sum of the neighboring pixels. This convolution operation is based on a matrix which gives some weight to each one of the neighbor pixels. This matrix is called convolution kernel. This matrix is a square 3x3, 5x5 or 7x7 dimension matrix (or more depending on filters). In this tutorial, we will use 3 dimension kernels.

The convolution kernel is also called linear filter.

The various filters are implemented in GLSL, which is the shading language supported by Demoniak3D. Do not forget to download the latest version of Demoniak3D in order to be able to run each project. The projects are downloadable at the end of this page.

The image which will be used to illustrate the operation of the various filters is the following one:


Fig.1 - Basic image.

And now, let us see the filters codes.




[ Index ]

Introduction | Page 2 | Page 3 | Page 4 | Page 5 | Page 6 | Page 7

»Next Page








GLSL Hacker
»GLSL Hacker Homepage


PhysX 3 cloth demo


Normal visualizer with GS


Compute Shaders test on Radeon


Raymarching in GLSL



Geeks3D latest news


Geeks3D forum news


Misc
»Texture DataPack #1
»Asus Silent Knight CPU Cooler
Page generated in 0.060100078582764 seconds.