Java open source technology sharing: using TopCode to achieve finger tracking

foreword

Today, I accidentally tried the Russian search engine yandex, and I found a new thing.
This is Dr. Andrew Davison from the UK who is currently teaching at Prince of Songkla University (PSU) in Thailand. Unlike bloggers who have been studying JavaCV audio and video technology since 2016, Dr. Andrew Davison published "Vision-based User Interface Programming in Java" in 2013. The book systematically introduces how JavaCV is used as the java interface of OpenCV. To achieve image processing and recognition and other operations. What excites bloggers is that the content of the book can complement the current blogger's column content, because bloggers do not study image processing technology very much, and most of the opencv image processing cases are from official documents and demonstration cases. , so students interested in image processing and image recognition can take a look at Dr. Andrew Davison's blog and published books. Of course, there are only English documents. If possible later, the blogger will translate some of the contents of several doctoral blogs.

A brief introduction to TopCode

TopCode is a computer vision library developed at the Human-Computer Interaction Laboratory at Tufts University in Medford, Massachusetts, based on adaptive thresholding techniques developed by TRIP and the Pierre Wellner project at the University of Cambridge, UK, and designed to quickly and easily identify and Track tangible objects on flat surfaces. Simply mark any physical object with the TopCode (circular black and white symbol) and the system will return:
ID number
Position
of the tag Angular orientation of the
tag The diameter

of the tag .
The TopCode library can accurately identify codes as small as 25 x 25 pixels. Image processing algorithms work in a variety of lighting conditions without manual calibration. The core TopCode library is 100% Java (with some C++ native interfaces now). An additional library is provided for obtaining high-resolution images from webcams using Microsoft's DirectShow API (aka dshow in ffmpeg).

TopCode Project: http://users.eecs.northwestern.edu/~mhorn/topcodes/

Finger tracking content

This chapter describes how to implement finger tracking using TopCode markers. The goal is to use the webcam to track finger movements, using them as the equivalent of mouse movements and button presses inside the app (shown above).

Movement of the finger shown in the webcam image on the right side of the screenshot causes the crosshair image to move and change in the left panel.

This doesn't use all the features TopCodes offers, so I'll also spend some time explaining how to access and take advantage of these other features.
insert image description here

Download
the PDF file (444 KB). Last updated: July 7, 2013.
Compressed code (28 KB). Last updated: July 7, 2013.

Translated from Dr. Andrew Davison's blog

Original address: http://fivedots.coe.psu.ac.th/~ad/jg/nui087/index.html

At the same time, there are a lot of content related to JavaCV image processing and image recognition on Andrew Davison's blog, such as: gesture recognition, eyeball recognition, fingerprint recognition, motion capture, etc., which will not be introduced one by one.

Guess you like

Origin blog.csdn.net/eguid_1/article/details/123414455