Hello, World!

My name is Tomohiko Koyama aka Saqoosha. I think everyone knows me as a developer of FLARToolKit. I joined JActionScripters.com too, and I hope that Japanese Flashers are exposed to the world more and more. My English is not so good. If you find a mistake, please correct me.

Recently, I researched about Thresholding algorithms. Thresholding algorithms are used to binarize and preprocess the input to find some objects within the image. FLARToolKit uses a thresholding algorithm to detect the marker.

The algorithm currently using in FLARToolKit is Global Thresholding.

Saq-Global-Thresholding

Its implementation is simple and faster, but no flexibility about illumination variation. I looked for a thresholding algorithm to improve this weak point. Then found Adaptive Thresholding.

Adaptive thresholding doesn’t use constant thresholding values as with Global thresholding. Thresholding value is calculated for each pixel using surrounding pixels. It’s result is amazingly adaptive to various illumination. Please watch this video.

Upper is the source video. Left is global thresholding, and right is adaptive thresholding. The marker (square at the center) is always visible in adaptive thresholding result. It’s using BlurFilter to calculate local thresholding value. Source code is here. Online demo (requires webcam) is also uploaded. Use up and down arrow keys to simulate illumination variation.

Makc3d already implemented this method into FLARToolKit, but I think it’s required more optimization to reduce calculation time.

The future version of FLARToolKit will include Adaptive thresholding filter to adapt to various illumination.

Follow me on Twitter