Left: Sobel, middle: Frei-Chen, right: regular scene
Overview
Edge detection is a process that aims to detect sharp changes in the color intensity of an image. Such sharp changes are called edges. Edge detection is a fundamental image processing technique.
Sobel and Frei-Chen are two edge detection algorithms. Sobel edge detector (developed in 1970) is one of the most known edge detector but is quite sensitive to noise. Frei-Chen (developed in 1977) edge detector provides a slightly better edge and is less sensitive to noise. Frei-Chen algorithm is often used in corner detection systems.
Here is an adaption for GeeXLab of the Sobel and Frei-Chen edges detectors found in this article.
Download
You can download the edge detector shader (GLSL) and GeeXLab demo here:
[download#203#image]
Left-click to download (right-click disabled)
This demo requires GeeXLab 0.2.10 and does not use Python so you can use the version of GeeXLab without Python (Lua only).
Unzip the demo archive somewhere, start GeeXLab and drop the file DEMO.xml in GeeXLab. That’s all.
The demo rendering is separated in three zones:
- left: scene with Sobel edge detector
- middle: scene with Frei-Chen edge detector
- right: regular scene without effect
You can use the tweak bar to change the size of the different zones.
The complete source code of the GLSL shader is available in the PostFX_EdgeDetection.xml file.
You can find other post processing shaders in Geeks3D’s shader library.
is anyone know feri chen codes for matlab
many thanks
hello. At first of all, sorry to my poor english.
i have write a article about Edge Rendering.
http://gamedevforever.com/18
and the article will be published(may be). I want import a image and present link your article.
http://www.ozone3d.net/public/jegx/201101/postfx_edge_detector_frei_chen_demo.jpg
so can i ask authority to use screenshot?
thank you.