start about me portfolio resume gallery links contact    

Computer Vision Tests Tool

Historical background

This was the one of the first larger projects related to computer vision, also employing OpenCV library in much greater extent than before. This project was pertaining to the “Foundations of pattern recognition and processing” course. Later on, this software was used to conduct research on how a mobile robot could be controlled by an on-board camera.

Project info
ForStudent project
Time-frame2005-2006
Co-authors1
Size5690
KeywordsC++, wxWidgets, Visual Studio, OpenCV, Video For Windows/TWAIN
StatusFinished

Description

Idea

As this was one of the first projects, the main idea was to get solid knowledge about various image processing and analysis techniques. The best way do to that, especially when it comes to the computer vision, is to make experiments and see. That’s why the application is an interactive visual tool, especially useful for doing quick tests and concept verifications. Multiple image processing algorithms and pattern analysis methods were implemented.

Details

The software has a user interface created with the wxWidgets library. All algorithms have a form of a dynamically loaded plug-in. Each algorithm has command associated with appropriate syntax. User can compose those commands and issue them in the CLI window in run-time or load as a batch file. Application supports various input/output graphic formats along with grabbing frames from Video for Windows interface.

Supported algorithms

  • Signal (Average, Min, Max)
  • Segmentation (Threshold, Automatic threshold)
  • Convolution (Sobel, Laplace, Canny)
  • Morphology (Erosion, Dilation, Opening, Closing)
  • Histogram (Inversion, Normalisation, Contrast stretching
  • Removing noise
  • Clustering (Connected Components Labelling, k-Means)
  • Shape analysis (Moments, Area, Radius, Angle, Roundness, Circumference, Malinowskiej, Blair-Bliss)

Screen-shots

Results

After the course, this application was extended to support mobile robot control (LEGO Mindstorms), as it was used in the related research. The idea was to see how a robot would see and try to control the robot by visual tracking.

Related publication (in Polish): "Vision system for a mobile robot", Student Scientific Conference 2006