opencv wlsfilter depth refinement demo
参考
https://docs.opencv.org/3.2.0/d3/d14/tutorial_ximgproc_disparity_filtering.html
- // This file is part of OpenCV project.
- // It is subject to the license terms in the LICENSE file found in the top-level directory
- // of this distribution and at http://opencv.org/license.html.
- #include "test_precomp.hpp"
- #include "opencv2/ximgproc/disparity_filter.hpp"
- #include <string>
- //CV_TEST_MAIN("")
- using namespace cv;
- using namespace std;
- using namespace ximgproc;
- int main()
- {
- string left_im = "C:\\Users\\Administrator\\Desktop\\green_tree\\left.bmp";
- string right_im = "C:\\Users\\Administrator\\Desktop\\green_tree\\right.bmp";
- Mat left = imread(left_im, IMREAD_COLOR);
- if (left.empty())
- {
- cout << "Cannot read image file: " << left_im;
- return -;
- }
- Mat right = imread(right_im, IMREAD_COLOR);
- if (right.empty())
- {
- cout << "Cannot read image file: " << right_im;
- return -;
- }
- int max_disp = ;
- max_disp /= ;
- if (max_disp % != )
- max_disp += - (max_disp % );
- Mat left_for_matcher, right_for_matcher;
- resize(left, left_for_matcher, Size(), 1.0, 1.0);
- resize(right, right_for_matcher, Size(), 1.0, 1.0);
- int wsize = ;
- Ptr<StereoBM> left_matcher = StereoBM::create(max_disp, wsize);
- Ptr<DisparityWLSFilter> wls_filter;
- wls_filter = createDisparityWLSFilter(left_matcher);
- Ptr<StereoMatcher> right_matcher = createRightMatcher(left_matcher);
- cvtColor(left_for_matcher, left_for_matcher, COLOR_BGR2GRAY);
- cvtColor(right_for_matcher, right_for_matcher, COLOR_BGR2GRAY);
- double matching_time = (double)getTickCount();
- Mat left_disp, right_disp, filtered_disp;
- left_matcher->compute(left_for_matcher, right_for_matcher, left_disp);
- right_matcher->compute(right_for_matcher, left_for_matcher, right_disp);
- matching_time = ((double)getTickCount() - matching_time) / getTickFrequency();
- double lambda = 8000.0;
- double sigma = 0.5;
- wls_filter->setLambda(lambda);
- wls_filter->setSigmaColor(sigma);
- double filtering_time = (double)getTickCount();
- wls_filter->filter(left_disp, left, filtered_disp, right_disp);
- filtering_time = ((double)getTickCount() - filtering_time) / getTickFrequency();
- Mat raw_disp_vis;
- double vis_mult = 10.0;
- getDisparityVis(left_disp, raw_disp_vis, vis_mult);
- namedWindow("raw disparity", WINDOW_AUTOSIZE);
- imshow("raw disparity", raw_disp_vis);
- Mat filtered_disp_vis;
- getDisparityVis(filtered_disp, filtered_disp_vis, vis_mult);
- namedWindow("filtered disparity", WINDOW_AUTOSIZE);
- imshow("filtered disparity", filtered_disp_vis);
- waitKey();
- return ;
- }
opencv wlsfilter depth refinement demo的更多相关文章
- 转:基于开源项目OpenCV的人脸识别Demo版整理(不仅可以识别人脸,还可以识别眼睛鼻子嘴等)【模式识别中的翘楚】
文章来自于:http://blog.renren.com/share/246648717/8171467499 基于开源项目OpenCV的人脸识别Demo版整理(不仅可以识别人脸,还可以识别眼睛鼻子嘴 ...
- 【AdaBoost算法】基于OpenCV实现人脸检测Demo
一.关于检测算法 分类器训练: 通过正样本与负样本训练可得到分类器,opencv有编译好的训练Demo,按要求训练即可生成,这里我们直接使用其已经训练好的分类器检测: 检测过程: 检测过程很简单,可以 ...
- 高强度学习训练第二天总结:Opencv+Android+CameraView小demo
前言:网上已经有很多人将Opencv集成进Android项目中了.因此我只给大家看Gradle文件和项目目录. 1.gradle 三个gradle script // Top-level build ...
- opencv.js小项目demo
1.博客连接 https://blog.csdn.net/weixin_38361925/article/details/82528529 2.demo连接 https://github.com/mt ...
- OpenCV学习4-----K-Nearest Neighbors(KNN)demo
最近用到KNN方法,学习一下OpenCV给出的demo. demo大意是随机生成两团二维空间中的点,然后在500*500的二维空间平面上,计算每一个点属于哪一个类,然后用红色和绿色显示出来每一个点 如 ...
- OpenCV中Camshitf算法学习(补充)
结合OpenCV中Camshitf算法学习,做一些简单的补充,包括: 实现全自动跟随的一种方法 参考opencv中的相关demo,可以截取目标物体的图片,由此预先计算出其色彩投影图,用于实际的目标跟随 ...
- [OpenCV] IplImage and Functions
In this chapter, APIs will make U crazy. Good luck! Next, Review Linear Algebra. Ref: http://blog.c ...
- [OpenCV] Basic data types - Matrix
http://docs.opencv.org/2.4.13/ Basis 矩形 "modules/core/src/drawing.cpp" CV_IMPL void cvRect ...
- Opencv step by step - 基本数据类型
CvArr,CvMat,IplImage这三者是继承的关系. 打开opencv 3.0的源码: cvArr /* CvArr* is used to pass arbitrary * array-l ...
随机推荐
- 从零开始搭建一个从Win7环境备份至CentOS7的SVN双机备份环境
★几个关键的事项★ 需要关闭防火墙filewalld跟selinux ,在root用户下操作: [root@localhost svnRepos]# systemctl stop firewalld ...
- 2018 完美搭建VS Code 的JAVA开发环境并解决print乱码问题
出自微软的Visual Studio Code 并不是一个 IDE,它是个有理想,有前途的编辑器,通过相应语言的插件,可以将其包装成一个 轻量级的功能完善的IDE. 自从遇见了她,真的是对她一见钟情不 ...
- JS基本数据类型
基本数据类型: Undefined,null,boolean,number,string symbol(ES6) 复杂数据类型: object undefined: 变量声明未初始化,自动为undef ...
- 移动游戏ui设计(二)--游戏世界的基本法则
游戏世界的基本法则游戏体验的层次感很重要,制作一款趣味性强,宗旨明确的游戏并不简单. l 风格统一性:要先明白游戏的game genres,因为游戏类型与风格密切联系.常见游戏类型有:动作类.冒险类 ...
- 学习 IOC 设计模式前必读:依赖注入的三种实现
一直以来就是越难的东西越值钱! 嘿嘿,这篇博文章转载自:http://www.cnblogs.com/liuhaorain/p/3747470.html 摘要 面向对象设计(OOD)有助于我们开发出高 ...
- oracle函数返回结果集
一.用自定义类型实现 1.创建表对象类型. 在Oracle中想要返回表对象,必须自定义一个表类型,如下所示: create or replace type type_table is table of ...
- elasticsearch服务安装采坑
笔者这里下载的elastic search,是5.3.0版本,下载地址:https://www.elastic.co/downloads/past-releases/elasticsearch-5-3 ...
- SpringBoot无废话入门01:最简SpringBoot应用
虽然本篇讲的是一个最简的SpringBoot应用,但是要说明的是:学习SpringBoot是有门槛的,这个门槛就是, 1:首先得有框架的基础,比如SSM: 2:MAVEN基础. 在学好上面两者的基础上 ...
- opencv+python-图片文本倾斜校正
# -*- coding: UTF-8 -*- import numpy as np import cv2 ## 图片旋转 def rotate_bound(image, angle): #获取宽高 ...
- SpringBoot(九):多模块下mapper分散后无法启动SpringBoot解决方法
问题描述: SpringBoot项目之前是一个项目*-web,运行没问题,后来将项目拆分为多个项目,就出现启动失败问题. SpringBoot项目结构: 项目被分为多块:*-mapper(mybati ...