views:

448

answers:

3

I am trying to make a program to count colonies of bacteria using a camera. I will be writing it in C++ and need an image recognition library that is easy to setup. I will be using visual studios so a template would be nice. Any ideas?

+6  A: 

Check out OpenCV:

OpenCV is a computer vision library originally developed by Intel. It is free for commercial and research use under the open source BSD license. The library is cross-platform, and runs on Windows, Mac OS X, Linux, PSP, VCRT (Real-Time OS on Smart camera) and other embedded devices. It focuses mainly on real-time image processing, as such, if it finds Intel's Integrated Performance Primitives on the system, it will use these commercial optimized routines to accelerate itself.

http://sourceforge.net/projects/opencv/

James
+1  A: 

If you know the kinds of algorithms you want to employ, ImageMagick gives you a good basic start for manipulating images:

http://www.imagemagick.org

John at CashCommons
This answer seems workable for bacteria colonies (apply a filter to increase the contrast between bacteria and agar) but would probably be much harder for things like OCR.
Max Lybbert
+2  A: 

Depends how much time and energy you want to invest. There is a really good library/framework for image processing that fits most purposes in image analysis. It is not cheap but you might have a look at it:

Halcon, main site

An example of medical application

We used it a lot in the past for complex image analysis, from my experience, it's incredibly complete, well documented, performant and stable.

jdehaan