Expert in areas of Computer Vision, Multimedia, Messaging, Networking and others. Focused on embedded software development. Competent in building cross-platform solutions and distributed SW systems.
Offer standalone custom solutions as well as integration of existing products. Opened for outsourcing services.
Posted on : 10-11-2009 | By : rhondasw | In : OpenCV
130
Hi All, before posting your question, please look at this FAQ carefully! Also you can read OpenCV haartraining article. If you are sure, there is no answer to your question, feel free to post comment. Also please, put comments about improvement of this post. This post will be updated, if needed.
This is a demo video of the invariant orientation and scale fast object detection algorithm. The algorithm is a robust in cases when the object is deformed a little 🙂
Posted on : 02-06-2009 | By : rhondasw | In : OpenCV
294
OpenCV’s standart cascades allow to detect faces and eyes. I wanted to create cascade in similar way to detect another objects: pringles or plate for example. I found some material in Net how to use OpenCV training tools, also I investigated training tool’s source code myself to found out, what training parameters can be tuned.
Prepare images.
For training, I needed thousands of images, containing my object with different lightning conditions and perspectives. After trying to find required number of pictures with Google , I understood, that it’s really difficult task =). So I decided to take video with my object, then I wrote simple program to crop object from video, frame by frame. In such way, I generated about 3000 positive samples (cropped images with my object). Resolution varied from 50×50 to 100×100. The advantage of this method – you get many samples with different reflections, illuminations and backgrounds. It’s very important, that all these images “features” are various!
Here is a demo of the jerry-built algorithm that finds barcode plates using Hough transform. Actually the video is mostly speaking for itself. Two points to comment:
The frames of barcodes are a bit long, since with given approach there is distinct difficulty in precise identification of barcode beginning and ending, so borders where widened to not miss the useful part, which is not really critical since extracted region of interest is still quite small.
The task was to detect only one barcode, so when there are several of them in the camera sight, CV system selects the best one (those with the most distinct lines). Since conditions of lighting and sharpness are always floating in video, system jumps from one barcode to another.