Advanced Techniques for Creating 3D Point Clouds: Using Stereo Vision in OpenCV Python

preview_player
Показать описание

You will also get access to all the technical courses inside the program, also the ones I plan to make in the future! Check out the technical courses below 👇

_____________________________________________________________

In this video 📝 we are going to see How To Create Point Clouds with Stereo Vision in OpenCV Python. I'll provide the Python scripts with the images on my GitHub. You can just copy-paste everything and run it on your own computer. We will talk about stereo vision and how we can use it to create disparity maps that we can reproject out in the 3D world again. We will also take a look at the OpenCV documentation. At the end of the video, we will go through the code and create a point cloud and visualize it.

If you enjoyed this video, be sure to press the 👍 button so that I know what content you guys like to see.

_____________________________________________________________

_____________________________________________________________

_____________________________________________________________

📞 Connect with Me:

_____________________________________________________________

🎮 My Gear (Affiliate links):
🖥️ Desktop PC:

_____________________________________________________________

Tags:
#PointClouds #StereoVision #ComputerVision #OpenCV
Рекомендации по теме
Комментарии
Автор

Join My AI Career Program
Enroll in My School and Technical Courses

NicolaiAI
Автор

Could you tell me the kind of camera you are using as without a stereovision webcam I cannot run the code and I am not sure where to acquire one myself?

guansze
Автор

Could you tell me what type of camera you are using and where I might acquire one as I cannot run the code properly with a monocular camera?

guansze
Автор

Hi thank you very much. What should i do if i want to use more than 2 cameras positions ? I use a robotic arm so i can take many pictures knowing the camera position each time.

CyrilPreiss
Автор

Hi, do you know why I happen to have some coordinates in the .ply file with values as 'Inf' or '-Inf'? And if yes, do you know how to solve the problem? With those values i can not read the .ply file with open3D

davideviviani
Автор

Really appreciate it so much, dude! @Nicolai. As you mentioned, comparably active method has higher precision for depth map, likewise the goal is to merge these stereo vision and one from the triangular-based approach, which is One shot structured Light. Is it possible to get greater precision than utilising solely stereo vision? If so, could you just give it a shot for us?

newupdates
Автор

don't know if this is a dumb question, but I will ask it anyway, what kind of camera did you use?

guansze
Автор

Do you also need a software to connect the two monocular webcams to create a stereovision?

guansze
Автор

Very nice!
What about a SLAM series? xD

rodrigodealmeidasilva
Автор

Hey everyone, just a quick one for anyone who need, in the video the two cameras are in a simple stereo setting-, no rotation only translation between two camera. Then, StereoRectify work fine. However if your stereo setting have each camera having rotation compared to the other, then you must use StereoRectifyUncalibrated otherwise it wont work well

resoluation
Автор

How can you get this Q matrix right I dont seem to be able to reconstruct using the reprojection matrix the output is mostly gibberish

moaz
Автор

Hello i am up to this step of the code to generate the point cloud:
points_3D = cv2.reprojectImageTo3D(disparity_map, Q, handleMissingValues=False)

However I get this error:

error: OpenCV(4.6.0) error: (-215:Assertion failed) Q.size() == Size(4, 4) in function 'cv::reprojectImageTo3D

Is there a fix for this?

Also i am doing this on Jupyter lab as visual studio doesn't seem to work even after going through the video tutorial

guansze
Автор

Hi, I am unable to generate the pointcloud as shown in the video while running your code, ONe of the possible reason i believe is because my StereoMap XML file only shows a value of 32768 regardless of which points/node. What did i do wrong here? I also didnt uses a chessboard, instead i uses the 2 dot images to run the code.

nigellim
Автор

Hello, i have run the code provided on github using images captured by my own binocular camera system. However, I found that the point cloud generated contain a lot of infs, and the xyz coordinates are either extremely big or small. Can you give me some advice on why this could happen and how to solve it? Thanks in advance.

zhishanjiang
Автор

Hello another great content! with the monocular camera videos you use deep learning algorithms to gain depth maps and say it's more accurate. If we use stereo camera without deep learning, dnn or ml will it be as accurate as monocular with deep learning or am I missing the videos of stereovision with deep learning?

ahmetpehlivan
Автор

Hi great video!! If I would like to make a real time 3d reconstruction using video stream instead of saved images do you think it’s possible with Open3D? I know it is similar to what is done in this video but i’m struggling with adding the new captured points to the previously created ply file and updating the visualization. Any help or guide is appreciated :). Thanks

andreaabascalmolina
Автор

Did you build this by connecting two webcams or did the webcam itself have two lenses? If so how did you build the camera?

guansze
Автор

how do i convert the point cloud to a grid to do path planning?

amedrafat
Автор

Which kind of lenses and sensor did you use for this case?

watchaid
Автор

Hello,

is it possible to get Q matrix from mononuclear camera?

SpOOnySk