Ask Your Question

Al B's profile - activity

2020-09-21 06:41:24 -0600 received badge  Nice Question (source)
2020-09-21 06:41:16 -0600 received badge  Necromancer (source)
2020-09-21 06:41:16 -0600 received badge  Self-Learner (source)
2014-04-30 21:12:52 -0600 commented question OpenCV Powered RC Car

We'll be presenting our Autonomous Android Vehicle at the Maker Faire Bay Area on May 17 & 18 so stop by if you are around or let me know if you are participating with a project that utilizes OpenCV.

http://makezine.com/2014/04/23/autono...

2014-04-30 15:05:18 -0600 asked a question [OpenCV for Android] Scalar arguments

Are the Scalar arguments RGB or HSV if they are passed to the Core.inRange function? For instance:

Imgproc.cvtColor(_rgbaImage, hsv, Imgproc.COLOR_RGB2HSV_FULL); Core.inRange(hsv, new Scalar(H, S, V), new Scalar(H, S, V), dst);

OR

Core.inRange(hsv, new Scalar(R, G, B), new Scalar(R, G, B), dst);

I believe Alexander Smorkalov once said that if you use OpenCV functions for getting HSV image, then the Scalar arguments are the same as in the target color space. So, in this case should be (H, S, V).

Can someone please confirm?

TIA!

2014-03-10 13:19:25 -0600 received badge  Student (source)
2014-03-10 11:19:04 -0600 asked a question OpenCV Powered RC Car

Hi everyone,

We just wanted to share with the community our project as a way to say thank you for all the help and good information we found in this forum.

We used OpenCV to develop a robot that can recognize, track, and follow a specified color object as well as have the ability to avoid obstacles in its way. Here is a short video showing the results:

http://youtu.be/vkvkfcqEUkk

Please share your thoughts or projects, I'd be happy to hear any suggestions as well.

Cheers!

2014-02-25 12:30:00 -0600 received badge  Editor (source)
2014-02-25 12:29:42 -0600 asked a question How to use COLOR_RGB2YCrCb with OpenCV for Android

Hi everyone,

I'm trying to convert from RGB to YCrCb in my android app, but I'm having problem matching the ranges to detect a color (i.e. green). Has anyone able to accomplish that with the Android API?

Imgproc.cvtColor(_rgbaImage, _YuvMat, Imgproc.COLOR_RGB2YCrCb);

Core.inRange(_YuvMat, new Scalar(60, 100, 30), new Scalar(130, 255, 255), _processedMat);

2014-02-15 14:00:32 -0600 commented answer threshold yuv image

Hum! That makes more sense now. Thanks for the clarification Steven.

2014-02-01 00:16:36 -0600 commented answer threshold yuv image

I keep reading that OpenCV uses the BGR channels instead of RGB. However, I get a more stable result (e.g. color detection) on my Android Nexus S device when I use COLOR_RGB2HSV instead of COLOR_BGR2HSV. So, is this a myth then?

Imgproc.cvtColor(rgbaImage, mHsvMat, Imgproc.COLOR_RGB2HSV);

Core.inRange(mHsvMat, new Scalar(60, 100, 30), new Scalar(130, 255, 255), mProcessedMat); // green color

2014-01-30 22:25:56 -0600 commented answer OpenCV4Android conversion from MatOfKeyPoint to MatOfPoint2f

This should work too, right?

Imgproc.findContours(mDilatedMat, contours, new Mat(), Imgproc.RETR_LIST, Imgproc.CHAIN_APPROX_SIMPLE);

MatOfPoint2f points = new MatOfPoint2f();

for(int i=0; i < contours.size(); i++) {

contours.get(i).convertTo(points, CvType.CV_32FC2);

}

2014-01-30 13:20:49 -0600 commented question Color dectection using YCrCb instead of HUV

I failed to mention that I tried to convert the current values used in the Scalar parameters, but it didn't work.

Y = 0.299R + 0.587G + 0.114B; Cr = 128 + 0.5R - 0.4187G - 0.0813B; Cb = 128 - 0.1687R - 0.3313G + 0.5*B;

2014-01-30 13:11:32 -0600 asked a question Color dectection using YCrCb instead of HUV

I'm able to detect colors (i.e. green) using the code below:

Imgproc.cvtColor(rgbaImage, mHsvMat, Imgproc.COLOR_RGB2HSV_FULL); Core.inRange(mHsvMat, new Scalar(60, 100, 30), new Scalar(130, 255, 255), mProcessedMat); // Green color

However, I am not able to accomplish the same detection when I use "Imgproc.COLOR_RGB2YCrCb" instead of "Imgproc.COLOR_RGB2HSV_FULL" because I cannot figure out the values of the scalar min and max parameters for the YUV counterpart colors.

So, is it possible to detect colors using YCrCb using the inRange() method or do I need to use a different method? Or does anyone know how can I map the min and max parameters for YUV?

TIA!