立体匹配:关于用OpenCV彩色化middlebury网站给定的视差
#include "XYZ.h" void readPFM(Mat_<float> &disp, float &scale, string path) { //关于将Mat见我的另外一篇博客: ifstream in(path, ios_base::binary); int cols; int rows; ]; , '\n'); in.get();//文件头 , ' '); in.get(); cols = atoi(tmp);//列数 , '\n'); in.get(); rows = atoi(tmp); //行数 , '\n'); in.get(); scale = atof(tmp);//缩放因子 disp.create(rows, cols); ; i >= ; i--)//因为存储是从最后行开始存储的 ; j < disp.cols; j++) in.read((char*)(&disp(i, j)), sizeof(float)); in.close(); } void dyeDisp_core(Mat_<Vec3b> &colordisp, Mat_<float> &disp, float mindisp, float maxdisp) { float scale = 1.0 / (maxdisp - mindisp); ; i < disp.rows; i++) ; j < disp.cols; j++) { Vec3b *xxx = &colordisp(i, j); float x = disp(i, j); if ((x != INFINITY) && (x != -INFINITY)) { x = scale * (x - mindisp); x = x / 1.15 + 0.1; // use slightly asymmetric range to avoid darkest shades of blue. (*xxx)[] = __max(, __min(, ( * ( * fabs(x - .)))))); (*xxx)[] = __max(, __min(, ( * ( * fabs(x - .)))))); (*xxx)[] = __max(, __min(, ( * ( * fabs(x - .)))))); } else (*xxx) = Vec3b(, , ); } } void dyeDisp_one(string dir) { string calibpath = dir + "/calib.txt"; string disppath = dir + "/disp0GT.pfm"; string colordisppath = dir + "/disp0GT.png"; //1.读取极值视差 ; ; ]; float f; FILE *fp = fopen(calibpath.c_str(), "r"); while (fgets(line, sizeof line, fp) != NULL) { ) dmin = f; ) dmax = f; } fclose(fp); //2.读取视差图像 float scale; Mat_<float> disp; readPFM(disp, scale, disppath); //FileStorage fs(disppath, FileStorage::READ); //fs["mat"] >> disp; //3.计算彩色视差 Mat_<Vec3b> colordisp(disp.rows, disp.cols); dyeDisp_core(colordisp, disp, dmin, dmax); //4.保存结果 imwrite(colordisppath, colordisp); } void dyeDisp_dir() { vector<string> dirs = cv_GetListFolders("./../TestData"); ; i < dirs.size(); i++) dyeDisp_one(dirs[i]); } void main() { dyeDisp_dir(); }
立体匹配:关于用OpenCV彩色化middlebury网站给定的视差的更多相关文章
- 光流算法:关于OpenCV读写middlebury网站给定的光流的代码
Middlebury是每个研究光流算法的人不可能不使用的网站,Middlebury提供了许多标准的测试库,这极大地推进了光流算法的进展.Middlebury提供的标准库,其计算出的光流保存在后缀名为. ...
- 立体匹配:关于OpenCV读写middlebury网站的给定的视差并恢复三维场景的代码
Middlebury是每个研究立体匹配算法的人不可能不使用的网站,Middlebury提供了许多标准的测试库,这极大地推进了立体匹配算法的进展.Middlebury提供的标准库,其计算出的视差保存在后 ...
- opencv 彩色图像分割(inrange)
灰度图像大多通过算子寻找边缘和区域生长融合来分割图像. 彩色图像增加了色彩信息,可以通过不同的色彩值来分割图像,常用彩色空间HSV/HSI, RGB, LAB等都可以用于分割! 笔者主要介绍inran ...
- OpenCV定制化创建角点检测子
定制化创建角点检测子 目标 在这个教程中我们将涉及: 使用 OpenCV 函数 cornerEigenValsAndVecs 来计算像素对应的本征值和本征向量来确定其是否是角点. 使用OpenCV 函 ...
- OpenCV阈值化处理
图像的阈值化就是利用图像像素点分布规律,设定阈值进行像素点分割,进而得到图像的二值图像.图像阈值化操作有多种方法,常用方法有经典的OTSU.固定阈值.自适应阈值.双阈值及半阈值化操作.这里对各种阈值化 ...
- OpenCV灰度化图像
OpenCV2版本号非常多函数发生了变化.比如二值化,其演示样例: void CmyMFC2Dlg::OnBnClickedButton1() { // TODO: Add your control ...
- opencv 彩色图像亮度、对比度调节 直方图均衡化
直接上代码: #include <Windows.h> #include <iostream>// for stand I/O #include <string> ...
- Jenkins(9)- 汉化 Jenkins 网站
如果想从头学起Jenkins的话,可以看看这一系列的文章哦 https://www.cnblogs.com/poloyy/category/1645399.html 下载插件 安装这两个插件,然后重启 ...
- OpenCV——阈值化
上述五种结合CV_THRESH_OTSU(自适应阈值),写成:THRESH_BINARY | CV_THRESH_OTSU
随机推荐
- 服务器端与客户端TCP连接入门(三:多线程)
对于服务器端来说,如果要加入多线程机制,则应该在每个用户连接之后启动一个新的线程 建立一个EchoThread类,此类专门用于处理多线程操作,此时的多线程使用Runnable接口实现 package ...
- 【63测试20161111】【BFS】【DP】【字符串】
第一题: tractor 题目描述 农场上有N(1 <= N <= 50,000)堆草,放在不同的地点上.FJ有一辆拖拉机,也在农场上.拖拉机和草堆都表示为二维平面上的整数坐标,坐标值在1 ...
- Jupyter notebook 安装,初步使用
在学习算法,图像处理过程中,理论结合实际的时候总要写一些程序,我用的是PYTHON.这时候,选择一款称手的工具比较重要.之前我用自带的IDLE,也还可以,但是操作不够便捷,文件组织也不是很好.后来想用 ...
- python 程序构架
http://blog.csdn.net/heyabo/article/details/8806176
- QT中QWS的含义 (转至 宋金时的专栏
QT 编程和文档中的术语QWS的全称是Qt windows system,是QT自行开发的窗口系统,体系结构类似X Windows,是一个C/S结构,由QWS Server在物理设备上显示,由QWS ...
- 在Mac环境下跑汇编
今天汇编作业做到第七章,就想在Mac下跑自己的asm程序,看到了一个很好的教程: http://www.raywenderlich.com/37181/ios-assembly-tutorial 虽然 ...
- ThreadPoolExecutor机制探索-我们到底能走多远系列(41)
我们到底能走多远系列(41) 扯淡: 这一年过的不匆忙,也颇多感受,成长的路上难免弯路,这个世界上没人关心你有没有变强,只有自己时刻提醒自己,不要忘记最初出发的原因. 其实这个世界上比我们聪明的人无数 ...
- Java-->Json解析网页数据
--> 官方解析jar包: 链接:http://pan.baidu.com/s/1pKDnXKv 密码:694d --> 离线Json格式检测工具: 链接:http://pan.baidu ...
- js事件处理机制
一.事件处理程序 a. DOM0级事件处理程序,被认为是元素的方法. var btn=document.getElementById('myBtn'); btn.onclick=functio ...
- php开发工具。。
看了好多决定用phpstorm. hahaha PHP还是挺好玩的 但是貌似犯蠢一下,MAC自带有php环境: 我还下了一个XAMPP,不过无所谓啦. 都可以用