This obvious trend has had our attention for a long time now, plus we've got some customer cases going with the basic idea of migrating from expensive legacy systems to cheap off-the-shelf processing boards with huge capabilities in a meak form-factor.
Recently, some of our clients have expressed their interest in imaging systems, so we decided to whip up a small demo involving our "Ixonos BSP" small-footprint Linux distro and the industry standard OpenCV imaging library.
In this demo we used the MinnowBoard, Intel's small and low cost board which is based on Atom processor. The camera we used is a basic USB webcam from Logitech. Pictures below:
|The Minnowboard with webcam watching candy drops|
The camera setup allows the system to see some candy drops in this rather trivial pattern recognition demonstrator. The system acquires image rasters of the scene using v4l2 and OpenCV. Circle shaped patterns are detected using opencv function "HoughCircles", based on Hough Circle Transform. Code snippet below demonstrates simple circle detection using HoughCircles:
//circle detection vector
<vec3f> circles; HoughCircles(detected_edges, circles, CV_HOUGH_GRADIENT, 1, minSizeThreshold, lowThreshold, lowThreshold/2, minSizeThreshold, minSizeThreshold + minSizeThreshold / 2); printf("total circle count: %d\n", circles.size());
After detecting all the circles, they are categorized according to color and statistics are printed to the screen.
|Candy drops detected|
|More candy drops detected|
Kalle Lampila, SW Engineer - Ixonos