Ask Your Question

Szippy's profile - activity

2017-05-25 03:56:55 -0600 received badge  Notable Question (source)
2015-11-06 04:05:15 -0600 received badge  Popular Question (source)
2013-08-10 02:49:53 -0600 commented answer Which matcher is best for SURF?

yes I have.

2013-02-21 11:54:56 -0600 commented answer 2.4.2 Android - missing nonfree package

I would need that tutorial aswell

2013-01-10 04:26:40 -0600 answered a question how to use SURF to compare two images from image database

Depends in what invironment you are coding, I would recommend listeners, and strore the image in database in Mat format, meaning you read the jpg for example, get them Mat descriptors, and store them with the Mat to file function I think I have seen something smiilar, but you have to google it (save mat to file or smtng). And on the server I would recommend multiple threads to compare each file saved at the same time with the camera image. I would suggest the RobustMatcher shown here Robust Matcher it filters bad results, and gives you a good answer after the SURF is done, from 1600 matches it filters the 10-50 good ones out.

2012-12-07 11:29:46 -0600 received badge  Necromancer (source)
2012-12-06 00:25:56 -0600 commented answer Nvidia Geforce 520M vs 540M for OpenCV

That is good as well, I might have gone for the 640M with 384 cores, but it is good that you got the 600 series it with the Kepler.

2012-12-05 13:29:15 -0600 answered a question Nvidia Geforce 520M vs 540M for OpenCV

I would look at 600 family if i where you. It is in the same price range for some reason, but 3 times the cuda cores. I am the owner of a msi gtx 650 and with 384 cuda cores it has the same number as 560 ti. You are looking for a laptop card I would go with a 640M.

2012-12-02 07:30:05 -0600 asked a question Sample OpenCv Android apk Export

Hello

I want to export the android project as a stanalone apk so I can install it later on a phone. But is there a procedure, am I in need of adding something to the porject to be able to do this, because at this point the project works when I debug and transfer it to the phone, but it doesn't when I export it and try to install again.

Any leads maybe? What am I doing wrong

Peter

2012-12-02 01:31:29 -0600 asked a question OpenCv android tutorial problem blue

Hello

I am looking at the android tutorial and wanted to save an iamge to the sd card of my phone, but the resolution is small, and on top of that the image is kinda bluish and all distorted. I can not tell where the problem is. I am not setting any color changes, is this a problem or am i doing something wrong. The image gets displayed correctly. I am using CameraBridgeViewBase to acces the camera it's in tutorial 3 add native support P

2012-12-01 13:28:39 -0600 commented answer getting video to play fullscreen android

the bug was fixed 4 days ago, how can we get the fixed version of the code?

2012-11-29 23:54:24 -0600 commented answer Image matching problem

Digit matching is no an option as it is banknotes i want to check and if I have some numbers drawn on a piece of paper and my software tells me it's money that is a bad result

2012-11-25 05:41:57 -0600 commented question Image matching problem

I have added the images and the code.

2012-11-25 05:41:26 -0600 received badge  Editor (source)
2012-11-24 08:16:35 -0600 asked a question Image matching problem

Hello

I want to amtch images of banknotes of witch i have photos and compare them to the image taken recently, so that I can determin witch kinde of banknote I took a photo of.

I am loading the banknotes into a vector<mat> and iterate thru them and compare each to the photo just taken. I have used the FLANN based amtching example as a starting point, but the matching done there has a lot of errors points are matched utterly wrong, and that messes up my matching process. The images are kinda similar, as in the banknotes have some similarities, but that shoudn't be the problem, as the example shows the points are matched exactly. So my question would be is there an optimal way to match banknotes? Maybe there is a flaw in my matching settings.

These are some of my sample Images:

image description image description image description image description

And these are the two images that I want to compare them to: image description image description

with this code i load all my files:

for(std::set<string>::iterator Name = ListOfFileNames.begin() ; Name != ListOfFileNames.end() ; ++Name)
{

    string path = "ron/";
    string name = *Name;
    if(name.length()>4)
    {
        path.append(name);
        IplImage *img=cvLoadImage(path.c_str());
        cv::Mat tempImage(img,CV_LOAD_IMAGE_GRAYSCALE);
        cvtColor(tempImage, tempImage, CV_RGB2GRAY);
        loadedImages.push_back(tempImage);
        loadedImagesNames.push_back(name);
    }
}

And with the Orb matcher I compare the new files to the dataset:

int compareOrb(cv::Mat *img_1t, cv::Mat *img_2t){

int minHessian = 800;
Mat img_1 = *img_1t;
Mat img_2 = *img_2t;

OrbFeatureDetector detector( minHessian );

std::vector<KeyPoint> keypoints_1, keypoints_2;

detector.detect( img_1, keypoints_1 );
detector.detect( img_2, keypoints_2 );

//-- Step 2: Calculate descriptors (feature vectors)
OrbDescriptorExtractor extractor;

Mat descriptors_1, descriptors_2;

extractor.compute( img_1, keypoints_1, descriptors_1 );
extractor.compute( img_2, keypoints_2, descriptors_2 );

//-- Step 3: Matching descriptor vectors using FLANN matcher
if(descriptors_1.type()!=CV_32F) {
    descriptors_1.convertTo(descriptors_1, CV_32F);
}

if(descriptors_2.type()!=CV_32F) {
    descriptors_2.convertTo(descriptors_2, CV_32F);
}
FlannBasedMatcher matcher;
std::vector< DMatch > matches;
matcher.match( descriptors_1, descriptors_2, matches );

double max_dist = 0; double min_dist = 100;

//-- Quick calculation of max and min distances between keypoints
for( int i = 0; i < descriptors_1.rows; i++ )
{ double dist = matches[i].distance;
if( dist < min_dist ) min_dist = dist;
if( dist > max_dist ) max_dist = dist;
}
/*
printf("-- Max dist : %f \n", max_dist );
printf("-- Min dist : %f \n", min_dist );
*/
//-- Draw only "good" matches (i.e. whose distance is less than 2*min_dist )
//-- PS.- radiusMatch can also be used here.
std::vector< DMatch > good_matches;

for( int i = 0; i < descriptors_1.rows; i++ )
{ if( matches[i].distance < 2*min_dist )
{ good_matches.push_back( matches[i]); }
}

//-- Draw only "good" matches
Mat img_matches;
drawMatches( img_1, keypoints_1, img_2, keypoints_2,
    good_matches, img_matches, Scalar::all(-1), Scalar::all(-1),
    vector<char>(), DrawMatchesFlags::NOT_DRAW_SINGLE_POINTS );

//-- Show detected matches
imshow( "Good Matches", img_matches );

for( int i = 0; i < good_matches.size(); i++ )
{ printf( "-- Good Match [%d] Keypoint 1: %d  -- Keypoint 2: %d  \n", i, good_matches[i].queryIdx, good_matches[i].trainIdx ); }

waitKey(0);

return good_matches.size();

}

And with this loop I check them all:

    int best = 0;
int bestId = -1;
int t;
for(int i=0;i<loadedImages.size();i++)
{
    t =compareOrb(&loadedImages.at(i),&image5);
    //t=compareSurf ...
(more)
2012-11-15 16:31:46 -0600 received badge  Student (source)
2012-11-15 12:57:48 -0600 commented answer MatOfDMatch how can it be used?

thank you got the job done :)

2012-11-14 10:30:58 -0600 commented answer Which matcher is best for SURF?

ok. My email address is [email protected], in the mean time I fixed the code, but am having trouble porting it to andtoid. I am using the ndk to acheive this.

2012-11-13 09:17:27 -0600 commented answer OrbFeatureDetector issue

If i increase it to 300 then it will crash at detect command, if i set it to 15 it will go tru to compare line

2012-11-11 05:48:13 -0600 commented answer Which matcher is best for SURF?

with flann based matching my code breaks down. Is it maybe because the images are not same size?

2012-11-11 05:47:08 -0600 answered a question Which matcher is best for SURF?

Hello I am alsow working on an android project for image recognition of a set of images from sd card to the camera indicated ones. Have you completed youre work? Could you help me with a few questions?

My tought process is like this: 1: load all images from sd card, calculate their keypoints, then theirs descriptions in Mat, and store them in a List<mat> data container; 2: when the camera is initialized I get one image, turn it to grayscale, get their keyPoints, the descriptions, and do a Brute Force matching to he descriptor just calculated with a loop taking all previously loaded descriptors.

Then there is the MatOfDMath result, and there I have some issues. I am trying to get the good_matches List, but all the distances are 0 in the match result. I am saving the largest best_matches container to be the one witch is my image from the loaded ones, but it is not working. Any ideas?

2012-11-11 00:41:38 -0600 asked a question MatOfDMatch how can it be used?

I am using android to compare some images, and I get the keypoints detecting done, the descriptionextraction, and then the matching of the two descriptors. I get the matched MatOfDMatch, but I don't quite get how I evaluate it. Any pointers?

Imgproc.cvtColor(mRgba, mGray, Imgproc.COLOR_RGBA2GRAY); detector.detect(mGray, keypoints); descriptorExtractor.compute(mGray, keypoints, descriptors);

MatOfDMatch temp = new MatOfDMatch(); matcher.match(descriptors,trained, temp);

And then? Peter

2012-11-10 10:49:31 -0600 commented question Cannot Do Anything With OpenCV Anymore on Windows 7 64-bit

Yes i have the same Issue, but I have managed to fix some basic functionality like image loading but image comparison just didn;t want to compile SURF or FANN neither.

2012-11-10 07:41:56 -0600 asked a question OrbFeatureDetector issue

Hello

I am having trouble with detecting KeyPoint s with the OrbFeatureDetector, this is my code, it is taken from the Surf example, but as I understand it has the same functionality.

vector<KeyPoint> keypoints_1, keypoints_2;
int minHessian = 15;

OrbFeatureDetector detector(minHessian);

detector.detect( img_1, keypoints_1 );
detector.detect( img_2, keypoints_2 );

the keypoints vector gets filled with -1274509 the max value it can support I'm thinking. And at the compute part it crashes. What am I doing wrong? Pls help.

Peter