文章目录
- 前言
- 一、python部分
- 双目相机
- 1 get_stereocamera_image.py
- 2 fenge_img.py
- 3 mp4_camera.py
- 4 video-frame-pic.py
- 5 stereoconfig.py
- 6 Polar line correction.py
- 7 biaoding_hanshu.py
- 8 biaoding_python.py
- 9 ad_census.py
- 10 PSM.py
- 11 BM.py
- 12 SGBM.py
- 13 SGBM_BF.py
- 14 SGBM_WLS.py
- 15 SAD.py
- 16 SSD.py
- 17 ZNCC.py
- 18 litipipei_python
- 19 CREStereo
- 20 sgm.py
- 21 look_disp.py
- 图像处理
- 1 all_riseze.py
- 2 Discover the checkerboard.py
- 3 pic_kb.py
- 4 pic_resize_kb.py
- 5 show_RGB_HSV.py
- 6 resize_img_yuandian.py
- 二 C++
- 1 liptipipei.txt
- 三 matlab
- 1 jixianjiaozheng.m
- 2SGM.m
- 3 tezhengdian_zuobiao.m
- 总结
前言
最近电脑要爆了,于是想整理一下自己双目视觉用到的代码,给初学者提供一个入门的参考。以下是相关的内容。
基本上都是自己用过的程序,有些借鉴了各种大佬们的资料也放在里面了。
当然为了吃饭,也是想收点费用,💴249,所有代码都会发送,重要的是提供一对一答疑群,尽自己最大努力帮大家解决问题。
感兴趣的话,大家加我VX AitStudio240523,感谢大家的支持。
一、python部分
双目相机
1 get_stereocamera_image.py
用于启动双目相机,按s拍摄,q停止,分别把双目相机左图和右图保存到left和right文件夹中。这里修改驱动相机索引cap = cv2.VideoCapture(0)。根据自己的相机修改双目分辨率参数:
cap.set(3,3840)
cap.set(4,960)
2 fenge_img.py
用于分割双目相机拍摄的图像,分别保存在left和right中。
3 mp4_camera.py
用于驱动双目相机拍摄视频,按s保存,q停止,空格暂停。
4 video-frame-pic.py
用于把双目相机拍摄的视频按帧分割。
5 stereoconfig.py
保存双目相机的参数用于后续的调用,这里可以替换matlab标定得到的双目相机参数。
6 Polar line correction.py
读取stereoconfig.py中的参数,对左图和右图进行极线矫正。
7 biaoding_hanshu.py
读取左图和右图放着标定图片的文件夹,进行双目标定,输出打印得到的标定参数。
8 biaoding_python.py
读取左图和右图放着标定图片的文件夹,进行双目标定,并且利用标定得到的参数进行极线矫正。
9 ad_census.py
AD-census 立体匹配算法,基于python实现(借鉴大佬,自己修改了部分内容)
10 PSM.py
PatchMatchStereo立体匹配算法,基于python实现。
11 BM.py
利用python-opencv中的BM算法实现立体匹配,已经封装函数,直接添加左图和右图的路径即可。
12 SGBM.py
利用python-opencv中的SGBM算法实现立体匹配,已经封装函数,直接添加左图和右图的路径即可。
13 SGBM_BF.py
利用python-opencv中的SGBM算法实现立体匹配,然后进行双边滤波进行优化。已经封装函数,直接添加左图和右图的路径即可。
14 SGBM_WLS.py
利用python-opencv中的SGBM算法实现立体匹配,然后进行WLS滤波进行优化。已经封装函数,直接添加左图和右图的路径即可。
15 SAD.py
基于python,根据SAD原理实现了这个算法(效果一般般,因为只是基于这个原理,没有优化)。已经封装函数,直接添加左图和右图的路径即可。
16 SSD.py
基于python,根据SSD原理实现了这个算法(效果一般般,因为只是基于这个原理,没有优化)。已经封装函数,直接添加左图和右图的路径即可。
17 ZNCC.py
基于python,根据ZNCC原理实现了这个算法(效果一般般,因为只是基于这个原理,没有优化)。已经封装函数,直接添加左图和右图的路径即可。
18 litipipei_python
某大佬分享的相关资料,从完整的标定到立体匹配,以及后面我修改了一下基于open3d实现的三维重建。
19 CREStereo
基于开源的Crestereo立体匹配算法,配置好torch环境,修改test_model.py的参数即可运行。
20 sgm.py
根据sgm原理基于python实现半全局块匹配(Semi-Global Matching, SGM)立体匹配算法。
21 look_disp.py
显示视差图,且鼠标点击把视差值显出来了。
图像处理
1 all_riseze.py
使用PIL来调整输入文件夹中所有PNG和JPG图片的大小,并将调整后的图片保存到输出文件夹。
2 Discover the checkerboard.py
识别棋盘格的角点,显示出来。
3 pic_kb.py
修改图像质量,降低图片的大小。(这个可以用于证件照降低大小)
4 pic_resize_kb.py
修改图像质量,降低图片的大小,并且可以对图片进行尺寸的修改。(这个可以用于证件照降低大小)
5 show_RGB_HSV.py
显示鼠标点击位置的HSV和RGB。
6 resize_img_yuandian.py
选择裁剪的方式对图片进行剪裁 1就是以原点,如果选择2就是左上角,如果选择3就是右上。
二 C++
1 liptipipei.txt
里面是c++的程序,包括全局立体匹配,半全局立体匹配,局部立体匹配三种,都封装了函数,可以根据自己的需要进行修改。
程序从标定到立体匹配,到pcl重建均已实现。
三 matlab
1 jixianjiaozheng.m
利用matlab工具箱得到的标定参数进行极线矫正。
2SGM.m
利用matlab工具箱得到的标定参数进行极线矫正,且对校正好的图片使用matlab集成库进行SGM算法立体匹配。
3 tezhengdian_zuobiao.m
对棋盘格图片进行特征点检测,得到每个特征点的坐标位置,并得到X、Y、Z 方向上的坐标值。
总结
目前找到了这些,后续会持续更新…