Hot answers tagged

20

Actually it is quite a hard topic. Classical multi-view 3d reconstruction deals with point matching in the first place, i.e. find the same point on every image. Given the camera (view) parameters for each image, the original 3d point can be reconstructed. (Using a laser or a projector the scene can be lit so the matching can be done relatively easily.) The ...


19

There are more corners on the borders of your "spiky object", so one approach would be to tune a corner detector for this. For example, I calculated the determinant of the structure tensor (Mathematica code below) of a distance-transformed image: Binarizing with hysteresis yields this image, which should be a good starting point for the segmentation ...


9

A simpler solution and much more computationally efficient when compared to Hough Transform is to use the distance transform: Find the surface of your spheres (i.e. the pixels that have value 1 and have at least one neighboring 0 pixel); Compute the distance transform with respect to the spheres surface, but constrain the computation only to pixels that are ...


7

Even if my answer comes too late for you, maybe other people find this useful. I have the codes for an openCV Pose from Homography. I found the method at this really useful website, euclideanspace. void cameraPoseFromHomography(const Mat& H, Mat& pose) { pose = Mat::eye(3, 4, CV_64FC1); //3x4 matrix float norm1 = (float)norm(H.col(0)); ...


7

Wolfram|Alpha has made such things easy:


5

I hesitate to write this as an answer, but given that you're asking only for advice, I will do so. I suggest investigating techniques based on the Dual-Tree Complex Wavelet Transform (DTCWT). These have shown to be useful for generating descriptors that have good tolerance to shift, scale and rotation of the source images. It's not the classic problem in ...


5

If you have the extrinsics then it is very easy. Having extrinsics is the same as having "camera pose" and the same as having the homography. Check this post in stackoverflow. You have extrinsics, also called camera pose, which is described as a translation and a rotation: $\displaystyle Pose =\begin{bmatrix}R|t \end{bmatrix} = \begin{bmatrix}R_{11} &...


4

What about for a start: Buzug, Computed Tomography Hermann, Fundamentals of Computerized Tomography


4

[EDITED] Here's how it's done. Steps: 1. Isolate the Road Divider Part. Then, using Houghlines, find out the longest lines in Image. Find out the extrema points that cross image boundary. You got the Quadilateral points. I skipped this part by Manually Choosing them. In my case, the width of road at top of image is 10, and at bottom is 60. Now, for the ...


3

I'm going to answer assuming that you are searching for the conceptual answer. First find all the seed voxels. You can do this in MATLAB using find(labels==1). Also have a corresponding structure containing all the surface voxels. You can get this similarly using find(labels==2). Then loop over each seed voxel which has an array index (i,j,k) and calculate ...


3

Do you just need the distance, or do you need the closest point? For the closest point, the FLANN library can help, and it has Matlab bindings. If you only need the distance, you can also use a distance transform. Try googling for "distance transform 3d matlab" for implementations. Which one is faster depends on the number of "seeds" and "skin voxels".


3

In the context of a video the terms mean the following: 3D Low Pass Filtering: The three dimensions (3D) are x (horizontal), y (vertical), and time. Hopefully you know what a low pass filter is. Temporal Neighborhood: I did not find this term in the paper. Given the context, though, I would guess that they mean for a video frame at time $t$, the temporal ...


3

The temporal neighborhood refers to data nearby in time. That is; data located in the frames just before and just after the current frame. The spatial neighborhood on the other side refers to the data nearby in space. In this case this is the pixels nearby in the same frame. Spatio-temporal filters (which is 3D filters) takes both nearby pixels in the ...


3

I found a nice implementation, using OpenCV: http://nghiaho.com/?p=1298


3

An oldie but goodie is Kak and Slaney, Principles of Computerized Tomography which is available on line.


3

I don't have the privilege to comment, so I'm going write my comment as an answer. I'm guessing your function, as well as imfill in Matlab, performs the "filling" iteratively. Two basic improvements to speed these kind of iterative functions up would be to 1. increase the seed points, i.e. using other possible locations in addition to the border area, ...


3

This answer comes a little late, but I think that it's necessary to clear up some of the confusion about what the eigenstructure of a Laplacian is and how it is calculated. First of all, it's important to stress that this is not about properties of the local kernel used for calculating discrete derivatives. Instead you have to understand the Laplacian as ...


3

There are various school of thoughts about this. A German guy named Klaus Genuit came up with a parametric model of HRTFs that's based on the actual physcial geometry of head, shoulder, pinna, etc. He actually now runs a company that craeates binaural products and measurement gear, see for example http://www.head-acoustics.de/downloads/publications/...


3

This looks like a sort of ray tracing problem. If you know the position and orientation of your camera you should be able to calculate the 3x4 projection matrix and its inverse. This should allow you to convert from image points to 3d position (on the road). This discussion http://opencv-users.1802565.n2.nabble.com/2D-to-3D-projection-with-given-plane-...


3

They basically use 3D reconstruction based on ground and sometimes aerial footage of places, generally using stereo cameras. With this footage, they build a 3D point cloud based on the images to do the reconstruction (which is particularly trivial for a stereo setup). I was told that if the reconstruction isn't good enough for more important/well known ...


3

SLAM(Simultaneous Localization and Mapping) algorithms can be used to for 3D reconstruction. They offer solutions for both monocular as well as stereo cameras. With single camera they estimate depth with few images and reconstruct the scene. You can find some of the open source solutions here. Real time 3D reconstruction can done using ORBSLAM and it is ...


3

First, a warm welcome to SE! Basically, you have a calibrated 3D reconstruction problem. The typical approach follows a 5-stage pipeline: Identify 2D features in each image along with the associated descriptors. Algorithms such as SURF, SIFT or AKAZE are heavily used and are available in many vision libraries such as OpenCV. Match the extracted keypoints ...


2

You have two options, use back projection or projection between two planes (homography). With back projection you take a pseudo inverse of you camera matrix $P$ and multiply the result with your homogenous presentation of image point: $$ P = K\begin{bmatrix}R & -R\textbf{C}\end{bmatrix} \\ \textbf{X}_{reprojected} = P^+\textbf{x} $$ Now you have a ...


2

You can't know the 3d position of the second point. It can be any of the points on the ray from your center of the camera until infinity. You can do the following: Create a predefined 3d space which resembles the real life scene Get more points of images from a different angle, using the intersection of the rays from different angles, you can get an ...


2

To approximate the volume ($V_{counted}$) you need to count all the voxels. To roughly approximate the surface area ($A_{approx}$) count all the voxels that have an "empty" voxel as a neighbor. (Have a look at Marching cubes or Marching tetrahedrons for more inspiration and a more detailed discussion on how to determine a surface element). In order to ...


2

I guess this is a straightforward non-linear optimization problem (to be solved with Newton variations, such as Trust-Region methods), where you don't even need to compute the Jacobian analytically. It appears to me that the optimization problem is written over $K_i$, and thus is the input to the cost function. To compute the cost, at each call to this ...


2

Check out Model Reconstruction from Images which is a little different from what you're doing but I talk about how to go from images to a 3d model. Also check out MeshLab, it has some reconstruction algorithms that you might be able to feed your data into.


2

While mentioned by Fodor Hartley and Zisserman book is definitely worth to read it's more for general understanding than for practical algorithms. It's quite outdated and those methods are not efficient. About your problem - the problem formulation itself is very uncommon. As it was mentioned by Fodor starting with matching feature points instead of ...


2

I have eventually found a simple idea for the solution on the paper called "Blending Images for Texturing 3D Models". The idea is not doing the complete blending for each new image added to canvas, but rather build separate lowpass and highpass canvas (for two-band blending). These are then merged as a final step of the rendering. Finding seam is still a ...


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