Ask Your Question

MysticBE's profile - activity

2020-06-22 19:21:19 -0500 received badge  Famous Question (source)
2020-05-30 11:56:45 -0500 received badge  Popular Question (source)
2019-12-14 13:05:23 -0500 received badge  Good Question (source)
2019-09-23 09:17:02 -0500 received badge  Famous Question (source)
2017-06-28 12:24:51 -0500 received badge  Notable Question (source)
2016-06-16 12:13:26 -0500 received badge  Notable Question (source)
2016-04-29 09:42:53 -0500 received badge  Notable Question (source)
2016-04-14 04:02:31 -0500 received badge  Notable Question (source)
2016-03-31 13:34:11 -0500 received badge  Famous Question (source)
2016-02-23 02:06:29 -0500 received badge  Notable Question (source)
2015-09-04 19:22:51 -0500 received badge  Popular Question (source)
2015-04-25 05:06:52 -0500 received badge  Popular Question (source)
2015-04-06 14:56:03 -0500 received badge  Notable Question (source)
2015-03-25 01:58:11 -0500 received badge  Notable Question (source)
2015-01-23 09:53:40 -0500 received badge  Popular Question (source)
2014-12-09 13:52:52 -0500 marked best answer How much byte does BRIEF use with the Java wrapper?

I was wondering just how much bytes BRIEF uses when using the Java wrapper (Android). I've been looking online, and in the OpenCV Library, but the answer can't be found. I know however that BRIEF uses image patches, and found the next code for C++

class BriefDescriptorExtractor : public DescriptorExtractor

{ public: static const int PATCH_SIZE = 48; static const int KERNEL_SIZE = 9;

// bytes is a length of descriptor in bytes. It can be equal 16, 32 or 64 bytes.
BriefDescriptorExtractor( int bytes = 32 );

virtual void read( const FileNode& );
virtual void write( FileStorage& ) const;
virtual int descriptorSize() const;
virtual int descriptorType() const;

protected: ... };

I'm guessing since the PATCH_SIZE is 48, that BRIEF normally uses 48 bytes to describe a keypoint? Am I correct, or totally wrong?

2014-12-09 13:52:41 -0500 marked best answer Convert String to Mat Java

I have a String saved that is full with Keypoints, but I need to use this string in the descriptor, which only takes Mat. How can I change my String to a Mat?

 String log = "[KeyPoint [pt={123.0, 164.0}, size=7.0, angle=-1.0, response=214.0, octave=0, class_id=-1], KeyPoint [pt={212.0, 170.0}, size=7.0, angle=-1.0, response=201.0, octave=0, class_id=-1], KeyPoint [pt={59.0, 116.0}, size=7.0, angle=-1.0, response=200.0, octave=0, class_id=-1], KeyPoint [pt={296.0, 133.0}, size=7.0, angle=-1.0, response=199.0, octave=0, class_id=-1]";

So if I could just change it from the String to the Mat, that would be perfect

2014-12-09 13:52:03 -0500 marked best answer Difference BRIEF and OPPONENT_BRIEF?

In the Descriptors from OpenCV I have the following line: descriptor2 = DescriptorExtractor.create(DescriptorExtractor.BRIEF);

But there is Also a DescriptorExtractor.OPPONENT_BRIEF

What is the exact difference between the two? I tried to google Opponent_brief for OpenCV, but got no good answer anywhere.

2014-12-09 13:49:55 -0500 marked best answer NullpointerException when using a descriptor

I am currently trying to compare 2 images with OpenCV. One image is on the SD card, the other image is made when pressing a button, and that picture will then be compared to the one on the SD card. I am using FAST detection (which works fine, i get back a lot of keypoints), and then I want to use a FREAK descriptor, but this is where it all goes wrong.

 MatOfKeyPoint points1 = new MatOfKeyPoint();   
        private FeatureDetector detector;
        private DescriptorExtractor descriptor;

psuedo code for the fast detection, which works

            // descriptor
            descriptor2 = DescriptorExtractor.create(DescriptorExtractor.FREAK);        
            descriptor2.compute(mIntermediateMat, points1, descriptors);

I get the next error in the compute part of the descriptor line:

04-23 11:58:03.840: E/AndroidRuntime(18729): FATAL EXCEPTION: main 04-23 11:58:03.840: E/AndroidRuntime(18729): java.lang.NullPointerException 04-23 11:58:03.840: E/AndroidRuntime(18729): at org.opencv.features2d.DescriptorExtractor.compute( 04-23 11:58:03.840: E/AndroidRuntime(18729): at$2.onClick(

When running the debug mode it looks like the descriptors field in descriptor2.compute is null. Am I wrong when thinking that is has to be null untill computed, since we use the FREAK algorithm to find the descriptors?

I have no idea what is wrong at the moment, does anyone know what needs to be done? Did I do some bad initialization?

2014-12-09 13:49:36 -0500 marked best answer Error parsing XML: unbound prefix Android

I get an error in my XML code when I add the opencv:show_fps="true" to my XML code (cause i want to be able to see the FPS on the screen)

<?xml version="1.0" encoding="utf-8"?>

<LinearLayout xmlns:android=""

        opencv:show_fps="true" />

        androi*emphasized text*d:drawableLeft="@drawable/camera"


When I delete the line, the error also disappears, but I couldn't find another good alternative to read out the FPS. What am I doing wrong here?

2014-12-09 13:49:17 -0500 marked best answer FAST detection possible with OpenCV Manager on Android?

I've been doing some research on the web about implementing FAST detection into my application, but I can't seem to find any examples on it that use the OpenCV Library 2.4.x and the OpenCV manager.

The only examples I found all use the JNI with C++ code. Do I have to use the JNI as well for my further detection (It needs to detect rectangles, Canny, Dilate/erosion, FAST), or can I use the OpenCV Library to do all of this? And if so, where can a good example using FAST with the OpenCV Library be found?

2014-12-09 13:44:14 -0500 marked best answer OpenCV Library 2.4.4 on Eclipse gives error

I have downloaded the new OpenCV Library 2.4.4 from the website, and the newest version of Eclipse. When I import the library to the Project Explorer i get an error in the src files under

I had this error on both of my computers, so I can't be the only one who has this? Is there a solution, or what am I doing wrong?

2014-09-27 02:05:09 -0500 received badge  Famous Question (source)
2014-09-01 13:07:20 -0500 received badge  Popular Question (source)
2014-08-10 15:59:20 -0500 received badge  Popular Question (source)
2014-06-27 11:05:57 -0500 received badge  Popular Question (source)
2014-06-11 12:37:50 -0500 received badge  Popular Question (source)
2014-06-04 08:58:58 -0500 received badge  Good Question (source)
2014-05-05 06:00:19 -0500 received badge  Famous Question (source)
2014-03-01 14:22:04 -0500 received badge  Nice Question (source)
2014-01-13 17:49:20 -0500 received badge  Notable Question (source)
2013-11-18 23:37:31 -0500 received badge  Notable Question (source)
2013-09-13 22:50:02 -0500 received badge  Popular Question (source)
2013-08-28 10:28:28 -0500 received badge  Popular Question (source)
2013-08-04 20:46:40 -0500 marked best answer Set a threshold on FAST feature detection?

When I use the FAST detector on an image of the size 960 x 720, I get about 9000 points with the current method. I was wondering if there is a technique to set a limit on the number of points that are being detected? Like the 500 best points only? I know that reducing the resolution gives less points, but I want to know if there is another way with a higher resolution?

FeatureDetector fast = FeatureDetector.create(FeatureDetector.FAST);

fast.detect(mIntermediateMat, points);

// gives +9000 points

This would help me in the description phase to reduce the calculation time to describe all these points. (takes about 0.8 seconds at the moment, and the descriptor is bigger then the original image when looking at the Mb). I don't use the native part, but the Java code and the OpenCV Library 2.4.4.

EDIT: I found this article on how to describe ORB parameters, and was wondering if it might work for FAST.

I added

FeatureDetector fast = FeatureDetector.create(FeatureDetector.FAST);

    String filename = "mnt/sdcard/fast_params.yml";
                    WriteFile(filename, "%YAML:1.0\nimage: mIntermediateMat\nkeypoints: points\nthreshold : 300 \nnonmaxSupression : true\ntype : FastFeatureDetector::TYPE_9_16\n");
                    DescriptorExtractor extractor = null;
    fast.detect(mIntermediateMat, points);

The string is based upon information i found here but it is giving back a NullPointerException and I'm not use it even works for FAST. Anyone?

2013-07-22 22:16:17 -0500 marked best answer The difference between BruteForce-Hamming and BruteForce-HammingLUT

I read the document about the matching, and googled the internet for the difference between BruteForce-Hamming and BruteForce-HammingLUT, but could not find a good answer anywhere.

The only thing I could get back from my own data is that the BruteForce-Hamming is about 1 ms faster then the other. But the matching results are virtually the same.

2013-07-03 16:46:52 -0500 answered a question Bilateral filter for Android

I don't see the exact problem, the blurring is what the Bilateral filter does (smoothing the images). Check for examples. What did you expect it to do?

2013-06-18 19:24:34 -0500 commented question A problem in OpenCV with Android using SURF

can you give some more code, and what exactly the error on logcat is? this way nobody can help you.

2013-06-18 19:18:40 -0500 answered a question Opencv 2.4.5 OpenCvCameraView full screen

it's "normal" behaviour. I work with a Samsung Galaxy S3, where a 1280 x 720 resolution should be possible as well, but it doesn't go higher than 960x720. I blame OpenCV ^^

2013-06-18 19:09:19 -0500 commented question Draw kinect depht data on android?

why exactly would you want to do this on an Android device, while you can get the data with your PC? It sounds weird to me, why would you want to do that unless you are going to use the information later on?

2013-06-18 18:57:04 -0500 answered a question SurfFeatureDetector

Yes it can be done in Java with the OpenCV Library. Try this:

MatOfKeyPoint keypoints = new MatOfKeyPoint();
FeatureDetector surf = FeatureDetector.create(FeatureDetector.SURF);
surf.detect(inputMat, keypoints);

I should note that SURF is actually very slow (just saying)

2013-06-01 08:11:48 -0500 commented answer Movie from images

Tutorial 1 was just to show you that you can work with Java wrappers instead of JNI, I get that the code does not help you, it was just an answer on your first question. Can't help you for the rest, still learning it all myself