opencv中Mat的数据类型设置问题
2014-07-14 14:22
281 查看
在编码过程中已经编好的代码,使用存放数据类型是Mat,觉得一直没有问题,但是出来的结果就是不对。
所以考虑改用vector或者CvMat类型。
考虑到要使用opencv中有关数据计算的函数,比如乘,求逆,转置等,最终选择用CvMat。
在使用CvMat中,要实现使用cvCreatMat函数,需要设置数据类型,设置为CV_32FC1。
这时意识到可能Mat中的数据类型设置有误。
于是乎,讲Mat变量的类型设置为CV_32FC1,使用float类型。
开始设置默认为图像的uchar类型,而数据范围为0~255,在矩阵计算过程中,肯定是要超出这个范围的,所以计算过程中就出现了错误。
以下是数据类型介绍:
Mat_<uchar>对应的是CV_8U,
Mat_<char>对应的是CV_8S,
Mat_<int>对应的是CV_32S,
Mat_<float>对应的是CV_32F,
Mat_<double>对应的是CV_64F,
对应的数据深度如下:
• CV_8U - 8-bit unsigned integers ( 0..255 )
• CV_8S - 8-bit signed integers ( -128..127 )
• CV_16U - 16-bit unsigned integers ( 0..65535 )
• CV_16S - 16-bit signed integers ( -32768..32767 )
• CV_32S - 32-bit signed integers ( -2147483648..2147483647 )
• CV_32F - 32-bit floating-point numbers ( -FLT_MAX..FLT_MAX, INF, NAN )
• CV_64F - 64-bit floating-point numbers ( -DBL_MAX..DBL_MAX, INF, NAN )
所以考虑改用vector或者CvMat类型。
考虑到要使用opencv中有关数据计算的函数,比如乘,求逆,转置等,最终选择用CvMat。
在使用CvMat中,要实现使用cvCreatMat函数,需要设置数据类型,设置为CV_32FC1。
这时意识到可能Mat中的数据类型设置有误。
于是乎,讲Mat变量的类型设置为CV_32FC1,使用float类型。
开始设置默认为图像的uchar类型,而数据范围为0~255,在矩阵计算过程中,肯定是要超出这个范围的,所以计算过程中就出现了错误。
以下是数据类型介绍:
Mat_<uchar>对应的是CV_8U,
Mat_<char>对应的是CV_8S,
Mat_<int>对应的是CV_32S,
Mat_<float>对应的是CV_32F,
Mat_<double>对应的是CV_64F,
对应的数据深度如下:
• CV_8U - 8-bit unsigned integers ( 0..255 )
• CV_8S - 8-bit signed integers ( -128..127 )
• CV_16U - 16-bit unsigned integers ( 0..65535 )
• CV_16S - 16-bit signed integers ( -32768..32767 )
• CV_32S - 32-bit signed integers ( -2147483648..2147483647 )
• CV_32F - 32-bit floating-point numbers ( -FLT_MAX..FLT_MAX, INF, NAN )
• CV_64F - 64-bit floating-point numbers ( -DBL_MAX..DBL_MAX, INF, NAN )
相关文章推荐
- opencv 3.0 Mat 数据类型转换
- OpenCV Mat数据类型及位数总结
- OpenCV Mat数据类型及位数总结
- opencv Mat&类型图像复制(P.S.CvArr*和Mat&转化的问题)
- 值得注意的OpenCV数据类型问题
- OpenCV Mat数据类型及位数总结
- OpenCV mat数据类型及位数
- OpenCV3 - Mat 数据类型初探
- OpenCV Mat数据类型及位数总结
- 【OpenCV】OpenCV的类型转换问题(BYTE、IplImage、Mat等)
- 解决mysql 数据库中日期类型00:00:00 的问题 设置xml数据类型:java.util.Date
- opencv 数据类型转换:CvArr, Mat, CvMat, IplImage, BYTE
- OpenCV Mat数据类型及位数总结
- OpenCV读取一张图片的Mat数据类型到.txt文件
- OpenCV中Mat与IplImage和CvMat数据类型间的相互转换
- OpenCV Mat数据类型及位数总结
- Opencv--Mat,IplImage数据类型
- 访问cv::Mat中的数据时遇到的指针类型问题
- 访问cv::Mat中的数据时遇到的指针类型问题
- OpenCV Mat数据类型及位数总结