19

It is important to understand that the only problem here is to obtain the extrinsic parameters. Camera intrinsics can be measured off-line and there are lots of applications for that purpose. What are camera intrinsics? Camera intrinsic parameters is usually called the camera calibration matrix, $K$. We can write $$K = \begin{bmatrix}\alpha_u&s&...


13

Note: That depends on what coordinates you use in the resized image. I am assuming that you are using zero-based system (like C, unlike Matlab) and 0 is transformed to 0. Also, I am assuming that you have no skew between coordinates. If you do have a skew, it should be multiplied as well Short answer: Assuming that you are using a coordinate system in ...


7

Andrey mentioned that his solution assumes 0 is transformed to 0. If you are using pixel coordinates this is likely not true when you re-size the image. The only assumption you really need to make is that your image transformation can be represented by a 3x3 matrix (as Andrey demonstrated). To update your camera matrix you can just premultiply it by the ...


5

I am trying to imagine how the detected screw is represented. Even if you have the centroid point and some representation of the shape, you need to estimate plane in which the screw lays. Such estimation would be very inaccurate given just the elliptic shape of the screw, which is usually small and its perspective and even affine deformation would be ...


4

You say that you have the extrinsic parameters. If that is true, then you already have the pose, thus, the position and rotation (There is usually some confusion on the topic, so check this answer to clarify things.). Extrinsic parameters matrix is the same as pose matrix, a $3x4$ matrix: $$Pose = Extrinsics = \begin{bmatrix} R_{11}&R_{12}&R_{13}&...


3

No, it is not a good idea. Typically, you want to limit the volume of space relative to the camera in which you want to do your measurements, and you want to use a single calibration target appropriate for that volume. In theory, you can calibrate with any number of different patterns. In practice, however, most implementations assume that the pattern is ...


2

While explaining the two-dimensional case very well, the answer proposed by Jav_Rock does not provide a valid solution for camera poses in three-dimensional space. Note that for this problem multiple possible solutions exist. This paper provides closed formulas for decomposing the homography, but the formulas are somewhat complex. OpenCV 3 already ...


2

My understanding is that you can not calculate homography from a single conic (conic is projection of a circle, in this case edge of the round screw). When camera calibration and homography between sensor and another plane (in you case the plane of the head of the screw) are known, you can calculate the orientation and location of the camera compared to the ...


2

This is a long topic to fully explain. I will try to write shortly, so please excuse the brevity. Standard computer vision projection (ignoring distortion like Houdini) follows: $$ \mathbf{x} = \lambda \mathbf{K}[\mathbf{R}\mathbf{X} +\mathbf{t} ] $$ $\mathbf{R}$ is a $3x3$ orthogonal matrix, $\mathbf{t}$ is a $3x1$ translation vector. Camera position $\...


2

This is due to the optimization problem being rather high-dimensional (around 11 parameters). With only a single observation of the calibration board, there would be multiple possible combinations of parameters explaining the observed feature point locations (unless a very constrained camera-model is used). Only a sufficient number of sufficiently ...


1

Digital cameras sample the incoming optical EM or photonic field with a fixed grid of CCD or CMOS transistors. Since the sampling grid (rectangular or perhaps hexagonal) is not angularly symmetric, there will be different sampling artifacts depending on camera rotation relative to the image, as the alignment between sensor grid points and image grid points ...


1

The answer here suggests that checkerboard patterns may yield more accurate (subpixel) calibration results and be more robust. You may have edited your question because the title asks which pattern but the text asks about rows and columns. In either case, you may consider using checkerboard instead of circle pattern maybe?


1

The Essential matrix is defined only up to scale, so you cannot extract scale from it. In other words, if you multiply $t$ and all the 3D world points in your scene by a constant factor, the essential matrix will be the same. If you have to get the scale, then you need some additional information. Either you need to have an object of a known size in the ...


1

First, calibrate your intrinsics: The focal lengths and the principal point. Homography is not really a rigid transformation and rather a mapping of a plane onto another one. What you really need is a 6DOF parametrization, which is the camera pose. If you have the intrinsics, you could transfer your coordinates to the normalized coordinates and estimate the ...


1

There is no matrix that maps a pixel in camera 1 to the corresponding pixel in camera 2. This is because the location of the corresponding pixel depends on the 3-D location of the corresponding point in the world. What you have instead is the Fundamental matrix, which maps a pixel in camera 1 to a line in camera 2, called the epipolar line.


1

If you pose estimation algorithm carefully minimizes the reprojection error using the standard non-linear techniques e.g., Levenberg Mardquardt, and your corner detection scheme is sufficiently accurate in the subpixel level, then yes. I would expect the residuals to be very small. Of course take into account the distortion parameters; they have to be ...


1

I do all my camera calibratins with a SpyderLenscal. You have to take the biggest focal length and the lowest aperture value. This is how you get the smallest depth of field. The distance between camera and your pattern should be the one you usually use with this specific lens. Here you'll find a video tutorial: https://www.youtube.com/watch?v=k2zlLIDfVgc


1

Yes it is possible to compute the extrinsics given the intrisics, some points in 3D and their projections in the image. If all your 3D points are in the same plane, then the math for computing the extrinsics is explained in the paper by Zhengyou Zhang, which is the basis for the camera calibration code in OpenCV. If your 3D points are not co-planar, then ...


1

I think there is a mistake in those calculations. How can you assume that $K$ has only a scaling effect? The principal point is integrated in $K$, it's not just a matrix of focal lengths. How come is this true? $$det(K)K^{-T} = \left[\begin{matrix} 1&0&0\\0&1&0\\-u_x&-u_y&1 \end{matrix}\right]$$ You don't end up with such equal ...


1

The coordinate system you choose is completely arbitrary, as no information about real-world coordinates can be inferred. From an image of a table there is no reason to know that one leg is located at any particular $(X, Y, Z)$, or that it is any particular size (you can't tell if it's a doll's table or a giant's table). Normally you would choose one of ...


Only top voted, non community-wiki answers of a minimum length are eligible