Showing posts with label computer vision. Show all posts
Showing posts with label computer vision. Show all posts

Sunday, October 18, 2015

Faster barcode tracking

Leveraging the work done to speed up both video capture and motor control, here's a significantly faster tracking example:


On board it looks like this:


Success!

The first photo taken by properly scraping the video stream.

Monday, September 21, 2015

QR tracking using the Parrot Jumping Sumo camera

Nested QR code with the Sumo's wheels against the monitor.
To implement "auto-docking" I am intending to use a 7x7cm square nested QR code target and the Sumo's FPV camera. The QR nesting allows detection and recognition at distances up to 50cm whilst remaining accurate right up the moment of touching the docking station. The pictures shown here are actual snapshots from my Jumping Sumo's FPV camera (640x480 resolution).

Same QR code image at an approx range of 30cm from the monitor.
I've prototyped some detection code using an install of the python-qrtools package on the Raspberry Pi:

This code successfully recognises the two QR codes in these test images, though it takes about half a second to do so.

Next up, a docking control loop!

Sunday, May 16, 2010

Object tracking in OpenCV and Python 2.6

I thought it'd be fun to try out some object tracking in OpenCV and as you can see it works quite well. The code is here and the video below shows the actual real-time tracking.


Saturday, April 10, 2010

Hand isolation in OpenCV

This week I've been working on some hand-detection algorithms in Python and OpenCV. I have come up with a simple and fairly accurate combination of filters that can isolate my skin tone from a range of backgrounds in a range of lighting conditions.

Overhead artificial lighting (click to enlarge).


Natural back-lighting (click to enlarge).

The Python script separates (in real-time) the RGB image from the webcam into Hue, Saturation and Value. The hue is filtered to the red band (which is the base hue of my skin) and the saturation is filtered to discard the bottom 25% (the lower the saturation, the greater the chance of error in the hue calculation). The filtered saturation and hue are then combined with an AND operation to return a highlighting of the hand.

Friday, April 2, 2010

Face detection with OpenCV 2.0 & Python 2.6


I've been wanting to play around with OpenCV under Python for ages and today I finally had the free time to have a go. Googling for some good tutorials lead me to a fantastic "hello world" script by Jo Vermeulen. The script used an OpenCV Python wrapper called CVtypes and was based on work done by Nirav Patel with an earlier version of OpenCV.

I wanted to work with the latest version of OpenCV and their new Python bindings so I decided to rework Jo's script for OpenCV 2.0. The results are above and the source code is available here: http://github.com/thisismyrobot/gnomecam/raw/master/face-detect.py

As a side note, I found the installation process for OpenCV under Ubuntu 9.10 utterly horrible. I eventually stumbled across this article that provided the correct steps to get it all working.