OpenCV3.2计算视差图的流程,没有找到核心算法
来源:互联网 发布:域名购买是永久的吗 编辑:程序博客网 时间:2024/06/11 04:29
Mat imgLeft = imread("E:/019_视差论文及程序/333_left.png", IMREAD_GRAYSCALE);
Mat imgRight = imread("E:/019_视差论文及程序/333_right.png", IMREAD_GRAYSCALE);
imshow("imgLeft", imgLeft);
Mat imgDisparity16S = Mat(imgLeft.rows, imgLeft.cols, CV_16S);
Mat imgDisparity8U = Mat(imgLeft.rows, imgLeft.cols, CV_8UC1);
//-- 2. Call the constructor for StereoBM
int ndisparities = 16 * 5; /**< Range of disparity */
int SADWindowSize = 7; /**< Size of the block window. Must be odd */
Ptr<StereoBM> sbm = StereoBM::create(ndisparities, SADWindowSize);
sbm->setPreFilterCap(CV_STEREO_BM_NORMALIZED_RESPONSE);
sbm->setPreFilterSize(5);
sbm->setPreFilterCap(31);
sbm->setBlockSize(21);
sbm->setMinDisparity(-16);
sbm->setNumDisparities(80);
sbm->setTextureThreshold(10);
sbm->setUniquenessRatio(8);
sbm->setSpeckleWindowSize(10);
sbm->setSpeckleRange(32);
//sbm->setROI1(roi_left);
//sbm->setROI2(roi_right);
sbm->compute(imgLeft, imgRight, imgDisparity16S);
//-- Check its extreme values
double minVal; double maxVal;
minMaxLoc(imgDisparity16S, &minVal, &maxVal);
printf("Min disp: %f Max value: %f \n", minVal, maxVal);
//-- 4. Display it as a CV_8UC1 image
imgDisparity16S.convertTo(imgDisparity8U, CV_8UC1, 255 / (maxVal - minVal));
namedWindow(windowDisparity, WINDOW_NORMAL);
imshow(windowDisparity, imgDisparity8U);
//-- 5. Save the image
Mat imgRight = imread("E:/019_视差论文及程序/333_right.png", IMREAD_GRAYSCALE);
imshow("imgLeft", imgLeft);
imshow("imgRight", imgRight);
Mat imgDisparity16S = Mat(imgLeft.rows, imgLeft.cols, CV_16S);
Mat imgDisparity8U = Mat(imgLeft.rows, imgLeft.cols, CV_8UC1);
//-- 2. Call the constructor for StereoBM
int ndisparities = 16 * 5; /**< Range of disparity */
int SADWindowSize = 7; /**< Size of the block window. Must be odd */
Ptr<StereoBM> sbm = StereoBM::create(ndisparities, SADWindowSize);
Rect roi_left, roi_right;
sbm->setPreFilterCap(CV_STEREO_BM_NORMALIZED_RESPONSE);
sbm->setPreFilterSize(5);
sbm->setPreFilterCap(31);
sbm->setBlockSize(21);
sbm->setMinDisparity(-16);
sbm->setNumDisparities(80);
sbm->setTextureThreshold(10);
sbm->setUniquenessRatio(8);
sbm->setSpeckleWindowSize(10);
sbm->setSpeckleRange(32);
//sbm->setROI1(roi_left);
//sbm->setROI2(roi_right);
sbm->compute(imgLeft, imgRight, imgDisparity16S);
//-- Check its extreme values
double minVal; double maxVal;
minMaxLoc(imgDisparity16S, &minVal, &maxVal);
printf("Min disp: %f Max value: %f \n", minVal, maxVal);
//-- 4. Display it as a CV_8UC1 image
imgDisparity16S.convertTo(imgDisparity8U, CV_8UC1, 255 / (maxVal - minVal));
namedWindow(windowDisparity, WINDOW_NORMAL);
imshow(windowDisparity, imgDisparity8U);
//-- 5. Save the image
imwrite("SBM_sample.png", imgDisparity16S);
0 0
- OpenCV3.2计算视差图的流程,没有找到核心算法
- 【图像处理】基于opencv3.0使用StereoBM计算视差
- 双目立体视差图计算
- 立体视觉——固定窗口的视差图计算
- 基于重心偏移的视差计算
- 基于重心偏移的视差计算
- StereoBM:opencv计算视差
- StereoBM:opencv计算视差
- 用VS+Opencv3.1从双目立体视差图中重建三维点云
- 用VS+Opencv3.1从双目立体视差图中重建三维点云
- OpenGL核心之视差映射
- SpringMVC的核心流程
- 线程的核心流程
- 刚想到一个计算地图计算距离的算法,自我感觉是最牛的算法,没有之一
- 得到的视差图是黑色的
- opencv3计算轮廓的面积-contourArea函数
- opencv3计算轮廓的长度-arcLength函数
- opencv3计算图像轮廓的中心矩
- [RK3288][Android6.0] WiFi在Setting中的开启过程小结
- Java实现单链表反转
- 在IDEA上创建web项目以及tomcat server的配置
- 机器学习算法集锦:从贝叶斯到深度学习及各自优缺点
- Hat’s Words (字典树 + 智能指针shared_ptr)
- OpenCV3.2计算视差图的流程,没有找到核心算法
- form 表单提交input信息 回车报错405
- CSS如何只改变父元素背景透明度不改变子元素透明度
- Hadoop OutputFormat 介绍
- 写一个简单的存储过程
- Jquery(四)
- mybatis做like模糊查询
- android studio 导入aar (阿里百川 hotfix aar 导入)
- 人脸识别和人脸检测的区别