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清理一下,这样能避免很多错误

最新文章

  1. 在C#中读取枚举值的描述属性
  2. HDU 3062 && HDU 1824 && POJ 3678 && BZOJ 1997 2-SAT
  3. Xshell访问虚拟机内Linux
  4. Unity5网络模块UNet介绍
  5. HTML5客户端数据存储
  6. source insight 的使用
  7. angularjs ios title不能修改的bug的解决方法
  8. 基于Annotation与SpringAOP的缓存简单解决方案
  9. Java开发从初级到中级
  10. Linux的软链接和硬链接
  11. HTML一
  12. MapReduce多种join实现实例分析(一)
  13. 聊聊GarbageCollectionNotificationInfo
  14. [原]Chef_Server and Chef_WorkStation and Chef_Client Install Guide[by haibo]
  15. Luogu 1941 【NOIP2014】飞扬的小鸟 (动态规划)
  16. 关于jQuery中click&live&on中的坑
  17. NIO学习笔记五:Buffer 的使用
  18. 详解利用Dockerfile构建mysql镜像并实现数据的初始化及权限设置
  19. PC端,移动端分离,如何结合??
  20. Flask从入门到精通之Flask表单渲染成HTML

热门文章

  1. ubuntu18.04安装配置opencv3.4.0
  2. cf769D(枚举&位或运算)
  3. 有线电视网(树形dp)
  4. codevs2830 蓬莱山辉夜
  5. 【并发编程】一文带你读懂深入理解Java内存模型(面试必备)
  6. IT兄弟连 JavaWeb教程 异步请求对象的API
  7. tableview中用动画效果改变cell的高度
  8. linux查找工具(find,locate,whrers)
  9. JavaWeb案例:上次访问时间 Cookie技术
  10. CC12:链式A+B