27 Aralık 2012 Perşembe

Feature Detection with ORB and Matching with FLANN(Android)


Algorithm
 
1. Detect the keypoints using ORB Detector
2. Calculate descriptors by using vectors
3. Matching descriptor vectors by using FLANN 
4. Calculate min and max distances between keypoints
5. Show number of good matches (whose distance is less than 2*minimum distance)

 

26 Aralık 2012 Çarşamba

Object Detection and Tracking with SURF and SIFT

We have some troubles about executing SURF and SIFT examples.But we have solved the problem and got some examples.













We executed object detection and tracking codes in visual studio.









 



12 Aralık 2012 Çarşamba

OpenCV Samples


http://opencv.org/platforms/android/opencv4android-samples.html

OpenCV Sample - image-manipulations( Posterize )


OpenCV Sample - image-manipulations( Canny )
OpenCV Sample - Face Detection


OpenCV Sample - Feature Point Descriptors

3 Aralık 2012 Pazartesi

ViewFinder Example with Android

In android tutorial we mentioned in our older posts there is another example application named viewfinder.  (To see the tutorial)

We followed the instructions step by step. Then we ran the application on our android device. Application shows standart deviation and color histograms dynamically. Here are some screenshots from application.


2 Aralık 2012 Pazar

Descriptors on Visual Studio

      Before android studies ,we have executed some samples codes on Visual Studio with opencv.A few weeks ago we did some matching examples on pictures with MATLAB.But matlab is slow program and our project is have to be real-time application.So that speed is more important.
First example includes same images with our MATLAB studies.











Here is the result image of c++.Interest points of first image is 591.And the matching score is 565.As you can see there are some incorrect datas.But they can  be ignored.



















In addition to this ,according to our project ,we wanted to try some special images.We used template matching sample for it.And These are the results:

Introduction to Android with Opencv

While we are working on image processing, at the same time we started to learn Android programming. Because our project is going to work on mobile devices.

We are new in android programming and we needed a start point. So we completed this tutorial to make our first android application. Our next move is completing the second tutorial at the same page.

First of all we executed sample android code on Visual Studio 2010 /C++.

After that we have decided to develope our project on eclipse and we have started to study on this way.

Results:
This sample is on eclipse screen:
This example is our android device:





20 Kasım 2012 Salı

VLfeat Matching Examples


         While we are studying on image processing ,we have started to find interest points on images.After that we are studying on matching the interest points between two almost same images.First of all we have two images.It includes nearly same view on same viewpoint.Basic idea is that finding the interest points on the images and matching them .
         There is a result of this process.It gives us nearly correct matches.We worked on vl feat open source library which implements popular computer vision algorithms including HOG, SIFT, MSER, k-means, hierarchical k-means, agglomerative information bottleneck, SLIC superpixels, and quick shift. It is written in C for efficiency and compatibility, with interfaces in MATLAB for ease of use, and detailed documentation throughout. It supports Windows, Mac OS X, and Linux.
         But there is a problem here because your images can be different size or high quality so that you change the code lines like that:

on vl_demo_covdet.m;
         % vl_imarraysc(reshape(patches(:,1:10*10), w,w,[])) ;
         vl_imarraysc(reshape(patches(:,1:size(frames,2)), w,w,[])) ;

Then if your image has high quality you can resize images;
         imresize(image,1/3.0,'bicubic');




            








             But there are different images.There is puzzle box while you can see top of the box at first image,you can see bottom of the box at second image and the back ground is a carpet.As a result of the matching process,we can see  the program has matched the carpet pattern on images.We can not say the matching process is totally wrong but ıt has trick point.the pattern  is same all over the carpet so that program finds the interest points and matches them.but this images can be located different places on it. there  is an example for this situation: