float32位,4字节

原本的stixel-world是用sgbm生成深度图,并且转成了float型

psmnet保存最终的disparity图是保存成uint16的,skimage.io.imsave(test_left_img[inx].split('/')[-1],(img*256).astype('uint16'))

最开始我采用的是直接保存成图片,cv2.save(save_dir,img),img本身是个一通道的,保存之后是个三通道的,然后在stixel-world读取图片的时候只读一个通道cv::imread(img,-1)就可以读出disparity

直接操作不能得出正确的值,因为图片本身是uchar型,也就是0到255,不能是其他的.这样精确度就只能到整数,原本的float被强制变成了int型

我想要保存原本的float型,opencv可以使用xml保存这些值,imwrite无法实现

因为PSMnet的代码是python的,也可以将这些值保存为.npy格式的文件,但stixel-world是c++的,读取是mat,这样就不好操作,有一些开源项目能进行这种转换,但太麻烦

最终我选择了将img直接保存成txt格式,stixel-world把这些txt读取到mat中

numpy保存成txt有个专门的函数是savetxt,我这样使用:np.savetxt(save_dir,img,fmt="%f",delimiter=",")

从txt可以看出值的差别不是特别大,所以保存成int就没区别了

之前跑代码会出现有时候没办法跑,有时候能跑,加了cout之后反而能跑

cout能够清理缓存,猜测可能是这个原因

在这段代码之前还用了infile1 open了一个文件,如果使用infile.close就能清理缓存

其实这个跟python的一样,只是with open自己使用了close.以后在使用infile读取的时候,使用完了之后还是要close清理一下,这样能避免很多错误

stixel-world和psmnet结合出现的问题的更多相关文章

  1. stixel提升思路总结

    1.用psmnet获得更好的disparity 2.用edgebox获得整个rgb图片的边缘,然后通过原本的stixel的上下边缘去寻找最优,用两个的边缘去重新得到一个新的边缘,但获得的轮廓不仅仅是外 ...

  2. stixel world论文总结

    1.The Stixel World - A Compact Medium Level Representation of the 3D-World:http://pdfs.semanticschol ...

  3. stixel上边缘

    上图是2^x-1的曲线,取值范围在(-1,正无穷) 上面两个公式组成了隶属函数(membership)表示隶属度,隶属度就是衡量这个点同下边缘点是否属于同一个物体.实际上M函数就是2^x-1,但M函数 ...

  4. stixel 理解

    在车辆所处平面建立极坐标占位网格(polar occupancy grid),将视差图所代表的三维世界(3D world) 正交投影到该平面中. occupancy:每个网格被赋予一个占位数,代表了该 ...

  5. 获得stixel的gt数据

    这是论文中的作者博客地址https://sites.google.com/site/danmlevi/ 这是作者现在的博客地址https://sites.google.com/view/danlevi ...

  6. doppia代码结构

    代码地址:https://bitbucket.org/rodrigob/doppia/src stereo_matching下的几个目录相当于这几篇论文中求stixel的几个步骤 cost_volum ...

  7. doppia代码支持

    stixels_t在stixel.hpp里,存储class stixel的vector

  8. Stixel_World(single)学习笔记

      1. 算法背景 Q: 如何有效处理数以百万的视差图数据(提供了每个像素的精确深度信息)? 以及如何在大量数据中找到所有相关的障碍物? 提出方法 “ stixel_world ”, It takes ...

  9. hourglassnet网络解析

    hourglassnet中文名称是沙漏网络,起初用于人体关键点检测,代码,https://github.com/bearpaw/pytorch-pose 后来被广泛的应用到其他领域,我知道的有双目深度 ...

随机推荐

  1. 如何選擇最佳的 Wi-Fi 無線網路頻道,獲得最佳的傳輸速度(转载)

    转自:https://blog.gtwang.org/useful-tools/how-to-find-the-best-wi-fi-channel-for-your-router/

  2. Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals)【A,B,C】

    翻车!翻车! codeforces782A A题: 水. 代码: #include <bits/stdc++.h> using namespace std; typedef long lo ...

  3. Unity5.5 Lighting Scene

    参考:https://docs.unity3d.com/Manual/GlobalIllumination.html Environment Lighting(环境光) Skybox: 天空盒材质,这 ...

  4. vijos1007 绕钉子的长绳子

    P1007绕钉子的长绳子(https://vijos.org/p/1007) 背景 平面上有N个圆柱形的大钉子,半径都为R,所有钉子组成一个凸多边形. 现在你要用一条绳子把这些钉子围起来,绳子直径忽略 ...

  5. P4769 [NOI2018]冒泡排序(dp)

    传送门 日常膜拜shadowice巨巨的题解 //minamoto #include<bits/stdc++.h> #define R register #define ll long l ...

  6. Vue实现选项卡效果

    <!DOCTYPE html> <html lang="en"> <head>    <meta charset="UTF-8& ...

  7. IT兄弟连 JavaWeb教程 过滤器1

    Servlet过滤器是从Servlet2.3规范开始新增的功能,并在Servlet2.4规范中得到增强,监听器可以监听到Web应用程序启动和关闭.创建过滤器和监听器需要继承相应接口,并对其进行配置. ...

  8. 10.Python初窥门径(函数进阶)

    Python(函数进阶) 一.函数的传参(接上期) 形参角度(一共四种,后两种) 动态参数(万能参数)* # 定义一个函数时,*所有的位置参数聚合到一个元组中 def func(*args): # * ...

  9. django-跨域访问

    pip install django-cors-headers #安装cors INSTALLED_APPS = [ ... 'corsheaders', ... ] MIDDLEWARE_CLASS ...

  10. Djano调试工具debug-toolbar

    Djano调试工具debug-toolbar   django-debug-toolbar 调试工具使用文档 安装 pip install django-debug-toolbar 配置 在setti ...