Ask Your Question

RVQ's profile - activity

2019-11-11 08:30:53 -0500 received badge  Popular Question (source)
2019-01-21 02:13:18 -0500 received badge  Popular Question (source)
2016-02-04 06:01:05 -0500 commented answer How does opencv convert a bgr image to greyscale?

Thank you for clarification!

2016-02-04 05:15:56 -0500 asked a question How does opencv convert a bgr image to greyscale?


I have a simple question. I read about the cvtColor function in the docs. I would like to know how OpenCV converts a BGR image to greyscale image.

According to the docs it uses the following formular.


Is it correct, that the Y stands for the alpha channel and all values in this channel will be replaced by 0.299?

Thanks in advance!

2016-01-29 02:26:25 -0500 commented question Are my Points coplanar?

Thank you!

2016-01-28 11:38:49 -0500 commented question Are my Points coplanar?

Thanks for the sources. Am I understanding you correct, that you say, that my Points are coplanar but it works anyway because of a closed form solution?

2016-01-28 04:14:56 -0500 asked a question Are my Points coplanar?


A while ago I worked on pose estimation. I also asked a question about it to make it work. (old question)

Today I read the following about POSIT (solvePNP) in Learning OpenCV 1st Edition

POSIT (aka “Pose from Orthography and Scaling with Iteration”) is an algorithm originally proposed in 1992 for computing the pose (the position T and orientation R described by six parameters [DeMenthon92]) of a 3D object whose exact dimensions are known. To compute this pose, we must find on the image the corresponding locations of at least four non-coplanar points on the surface of that object.

This is my image


For me this points appear to be coplanar, since they are all in the same plane? Could someone explain to me why it works anyway?

2016-01-25 12:25:48 -0500 commented answer Why is the color of all squares of a charuco board black? (Version 3.1)

Thank you very much!

2016-01-23 11:23:57 -0500 asked a question Why is the color of all squares of a charuco board black? (Version 3.1)


I created a charuco board with the example application from the aruco module (create_board_charuco.cpp). I am suprised that the result is a board where all squares are black. In the las verion I used, I got a board with black and white squares. Why has it changed? Is it better or just a mistake?

My generated board: C:\fakepath\board.jpg

What I expected: C:\fakepath\charucoboard.jpg

2015-12-18 03:46:50 -0500 received badge  Enthusiast
2015-12-14 07:00:57 -0500 received badge  Student (source)
2015-12-14 02:34:33 -0500 asked a question Pose Estimation: Where is my error in reasoning?


I am trying to do pose estimation. But I am clearly doing something wrong. Let's say I have a pattern consisting of 4 Markers (A,B,C,D). Each of these markers has an image coordinate and a pattern coordinate. The origin of the pattern is the center of the polygon.

Pattern upright

The image coordinates (x/y) are the following. (In a 1280x960 image)

  • Origin(616/814)
  • A(561/664)

  • B(702/838)

  • C(637/982)

  • D(520/755)

Pattern coordinates (x/y/z)

  • Origin(0/0/0)

  • A(-12/32/0)

  • B(18/-5/0)

  • C(12/-36/0)

  • D(21/13/0)

Now it rotates by 90 degrees, but my coordinate system does not rotate with the pattern. I am wondering what is wrong? Is it because the Z coordinate is always 0?

Pattern horizontal

  • (x/y)
  • Origin(632/784)
  • A(718/812)

  • B(567/938)

  • C(441/909)

  • D(632/784)

Pattern coordinates (x/y/z)

  • Origin(0/0/0)

  • A(32/12/0)

  • B(-4/18/0)

  • C(-35/11/0)

  • D(11/19/0)

I am using solvePnP like this

 cv::solvePnP(patternPoints, imgPoints, cameraMatrix, distCoeffs, rvec, tvec);

Drawing the axis

//Method Call
pattern.drawAxis(image, camMatrix, distCoeffs, rvec, tvec,10);

//Implementation (taken from aruco.cpp)

void drawAxis(InputOutputArray _image, InputArray _cameraMatrix, InputArray _distCoeffs,
              InputArray _rvec, InputArray _tvec, float length) {

    CV_Assert(_image.getMat().total() != 0 &&
              (_image.getMat().channels() == 1 || _image.getMat().channels() == 3));
    CV_Assert(length > 0);

    // project axis points
    vector< Point3f > axisPoints;
    axisPoints.push_back(Point3f(0, 0, 0));
    axisPoints.push_back(Point3f(length, 0, 0));
    axisPoints.push_back(Point3f(0, length, 0));
    axisPoints.push_back(Point3f(0, 0, length));
    vector< Point2f > imagePoints;
    projectPoints(axisPoints, _rvec, _tvec, _cameraMatrix, _distCoeffs, imagePoints);

    // draw axis lines
    line(_image, imagePoints[0], imagePoints[1], Scalar(0, 0, 255), 3);
    line(_image, imagePoints[0], imagePoints[2], Scalar(0, 255, 0), 3);
    line(_image, imagePoints[0], imagePoints[3], Scalar(255, 0, 0), 3);
2015-10-08 09:52:18 -0500 answered a question How to keep tracking one object forever?

I know it's a late answer but maybe it's still helpfull.

You could try it with the object tracking algorithm provied by DLIB

Checkout this Blogpost

2015-09-25 03:30:02 -0500 received badge  Editor (source)
2015-09-25 02:31:08 -0500 received badge  Supporter (source)
2015-09-25 02:30:07 -0500 commented answer Has createBackgroundSubtractorMOG been removed?

Thank you!

2015-09-25 02:29:31 -0500 received badge  Scholar (source)
2015-09-25 02:02:15 -0500 asked a question Has createBackgroundSubtractorMOG been removed?


I did the openCV Background Subtraction tutorial, which is described here.

First the complete source code is listed, in which createBackgroundSubtractorMOG is not used. But in the Explanation part it is described.

That's obviously an error, but it didn`t take me long to figure it out. Hower now I want to use createBackgroundSubtractorMOG instead of createBackgroundSubtractorMOG2, but it seems that this method has been complitly removed.

Does somybody know if this is true and if it is, why the method has been removed?

PS: I am using opencv 3.0.0

Thanks and Greets



I had some errors building opencv_contrib. However I just wanted to try BackgroundSubtractorMOG. So I just copied the .cpp and header files in my Project and builded it again, which worked fine.