opencv中类型转换问题
来源:互联网 发布:java模拟登陆qq空间 编辑:程序博客网 时间:2024/05/21 20:26
记录一下最近困惑我的问题~方便以后查阅
在学习立体匹配算法中BM算法时,出现在了关于类型转换的问题 :disp.convertTo(disp8u, CV_8U, 255 / (numberOfDisparities*16.))
不知道为什么做此转换,经过资料的查阅,终于解惑啦!
在opencv中,如果是float形式,如果用imshow函数显示,只会显示像素值在0.0-1.0之间的,如果像素值大于1.0会显示为白像素,小于0.0显示为黑。为了可视化float形式的图像。可以将它的值归一化到0-1;
同理,如果用convertTo函数(src.convertTo(dst, type, scale, shift)创建指定类型的矩阵,当值超过显示范围时,则将它限制为最大值或者最小值。
所以当目标数据类型为cv_8U时,需要将值图像的像素值约束在0-255之间,所以就靠scale和shift来做缩放,假设矩阵A的最大值为max最小值为min,则
if (Min!=Max){ A -= Min; A.convertTo(B,CV_8U,255.0/(Max-Min));}
所以本段代码中,disp为视差图,最小视差默认为0,numberOfDisparities为最大视差与最小视差的差值,除以16则是根据邹老师的说法,得到的结果是CV_16S,需要除以16才能得到正确的视差值。
阅读全文
3 0
- opencv中类型转换问题
- 关于opencv中Mat类型转换的一个问题
- OpenCV中矩阵深度类型转换
- OpenCV中Mat,IplImage,CVMat类型转换
- opencv中Mat类型转换 ConvertTo
- 【OpenCV】opencv中Mat与IplImage,CVMat类型之间转换
- java 中类型转换问题
- openCV中Mat类型与IplImage类型的转换
- opencv类型转换
- OpenCV中Mat与Matlab中mxArray类型的转换
- OpenCV中图像不同定义类型间的转换
- opencv中Mat与IplImage,CVMat类型之间转换
- OpenCV中Mat与IplImage,CVMat类型之间转换
- opencv中Mat与IplImage,CVMat类型之间转换
- opencv中Mat类型操作或转换代码分析
- opencv中Mat与IplImage,CVMat类型之间转换
- opencv中Mat与IplImage,CVMat类型之间转换
- opencv中Mat与IplImage,CVMat类型之间转换
- mysql explain用法(调试优化用)
- #bzoj2933#【重庆市NOIP模拟赛】数据(DP线段树优化 or DP堆优化 + 证明)
- osvr::clientkit::ClientContext
- linux Nginx安装篇
- thread pool core thread number
- opencv中类型转换问题
- Vijos P1301 智力游戏
- Java_基础—readLine()和newLine()方法
- mysql存储过程插入40W条数据
- NYOJ 975 关于521
- servlet入门
- 网站提升页面加载性能的优化技巧
- python数据结构与算法1: BF算法
- Angular.js(六)