Ask Your Question

Rui Marques's profile - activity

2019-04-16 13:56:52 -0500 received badge  Notable Question (source)
2018-08-14 02:02:05 -0500 received badge  Great Answer (source)
2018-08-14 02:02:05 -0500 received badge  Guru (source)
2017-11-15 05:11:31 -0500 received badge  Famous Question (source)
2017-11-04 09:27:46 -0500 received badge  Nice Question (source)
2016-11-29 12:02:33 -0500 received badge  Nice Answer (source)
2016-06-02 11:57:49 -0500 received badge  Popular Question (source)
2016-04-02 17:40:24 -0500 received badge  Notable Question (source)
2015-12-29 20:15:54 -0500 received badge  Necromancer (source)
2015-12-28 23:12:48 -0500 received badge  Nice Answer (source)
2015-10-22 08:19:09 -0500 received badge  Popular Question (source)
2015-07-04 18:32:08 -0500 received badge  Good Answer (source)
2015-06-28 09:29:21 -0500 received badge  Nice Answer (source)
2014-12-09 13:45:21 -0500 marked best answer How to contribute with a Java wrapper for native code functionality?

Is there a tutorial for someone who wants to contribute with some Java wrapping native code?

2014-12-09 13:42:56 -0500 marked best answer Is it possible to measure in pixels a character outputed from putText()?

I know this is a bit weird question but i actually came to a situation where i would need this. So I appreciate the patience if someone knows the answer =)

From these parameteres:

int fontFace, 
double fontScale
int fontThickness 
int fontLineType

Is it possible to calculate the width of a character in pixels?

Note 1: If the font is not of fixed width, one can assume it is the letter 'a' or do any other assumption.

Note 2:The idea is not to have some image processing doing this, the idea is just to do some math with the putText() parameters.

2014-12-09 13:42:47 -0500 marked best answer Which is more efficient, use contourArea() or count number of ROI non-zero pixels?

In a case were you only want relative areas, which one is faster to compute: calculate a contour area - contourArea() - or count the number of ROI non-zero pixels?

You can assume the contours have been found and you have everything needed to do either case.

2014-11-07 09:30:24 -0500 received badge  Necromancer (source)
2014-06-02 08:13:18 -0500 commented answer Best way to store a Mat object in Android

Do you have any reason against using JSON in the PC instead of XML?

2014-05-23 05:40:41 -0500 commented answer Best way to store a Mat object in Android

I do not know if I understood your question correctly, you want to convert XML to JSON? Why would you do that?

2014-05-09 08:24:54 -0500 answered a question Low framerate with ORB detector

ORB is quite slower than FAST (but faster than other detectors like SIFT, SUFT). It is also much more robust than FAST, regarding view-point changes, etc.

Those frame-rates you mention seem normal, you have some degree of tunning, for example getting rid of outliers early so the rest of your code has less keypoints to deal with.

2014-03-27 02:02:25 -0500 received badge  Nice Answer (source)
2014-03-10 13:48:30 -0500 commented question Where to put job offers?

Here are some nice places to put computer vision jobs, I think we should not further fragment the job seeking/posting market otherwise the interested parties have to check 10 's sites:

http://www.computervisiononline.com/jobs http://cvisioncentral.com/jobs/ http://careers.stackoverflow.com

2014-03-10 13:30:02 -0500 answered a question Adherent raindrop detection - Level Sets

That seems like a problem that would work nicely with simple approaches like applying some morphological operation like dilate and then do watershed to segment the black blobs.

You did the hardest part: having big black blobs which are the drops.

2014-03-10 13:24:16 -0500 commented question Question number 6000: Your hopes and dreams about OpenCV?

It will add that it would be nice to have better support for network cameras and mobile video encoding. Some kind of SLAM module (I think some work is being done here), or state of the art object detection/tracking.

2014-03-03 13:45:52 -0500 marked best answer How to get good matches from the ORB feature detection algorithm?

In the context of matching features from a live camera with features from an image of an object, how do you filter the detected features and/or the matches?

I prefer answers for OpenCV4Android, but answers for the desktop version are also acceptable!

2014-03-02 16:09:37 -0500 commented answer performance of findHomography

So it is not open source?

2014-03-02 06:20:17 -0500 commented answer Android. How to check if contours touch position on screen.

That is more clear, I do not know why you didn't ask that way in the first place :p

2014-03-01 18:21:48 -0500 answered a question Android. How to check if contours touch position on screen.

You can do something like this:

//  List<MatOfPoint> contours; from findCountours  

for(int i = 0; i<contours.size(); i++) {
    MatOfPoint m = contours.get(i);
    List<Point> list = m.toList();
    for(int j = 0; j<list.size(); j++) {
        Point p = list.get(j);
        if(p.x == 500){

        }
    }
}
2014-03-01 18:01:06 -0500 answered a question Is the willowgarage reachable?

That site is deprecated AFAIK. The documentation is now at: http://docs.opencv.org

2014-03-01 14:53:40 -0500 answered a question Save ORB features to database

You can check the answers for this post:

http://answers.opencv.org/question/8873/best-way-to-store-a-mat-object-in-android/

I recommend the answer I gave there, with some small changes it can be applied to other OpenCV data structures besides Mat.

If you really do not want to convert your data to json you can check there how to convert to a byte array. After you have a byte array you can store it in a file or whatever.

2014-03-01 14:30:57 -0500 commented answer Set a threshold on FAST feature detection?

This is the best answer for Java, very complete.

2014-03-01 14:27:20 -0500 edited question 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;
                    extractor.read(filename);
    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?

2014-02-26 12:19:49 -0500 commented question Mat from byte-array (or stream) - which type/format?

Yes sorry, I was assuming a buffer filled with the pixels only.

2014-02-26 09:19:02 -0500 commented question Mat from byte-array (or stream) - which type/format?

You can also do:

byte[] buffer; // read from stream ..
ocvImg.put(0, 0, buffer);

instead of the imdecode, it is more straightforward.