opencv-常用小知识

类型、位数、通道数

  • Unsigned 8bits
    CvMat数据结构参数:CV_8UC1,CV_8UC2,CV_8UC3,CV_8UC4
变量类型空间大小范围其他
uchar8bits0~255默认
unsigned char8bits0~255
  • Signed 8bits
    CvMat数据结构参数:CV_8SC1,CV_8SC2,CV_8SC3,CV_8SC4
变量类型空间大小范围其他
char8bits-128~127
  • Unsigned 16bits
    CvMat数据结构参数:CV_16UC1,CV_16UC2,CV_16UC3,CV_16UC4
变量类型空间大小范围其他
ushort16bits0~65535默认
unsigned short int16bits0~65535
  • Signed 16bits
    CvMat数据结构参数:CV_16SC1,CV_16SC2,CV_16SC3,CV_16SC4
变量类型空间大小范围其他
short int16bits-32768~32767(short)
  • Signed 32bits
    CvMat数据结构参数:CV_32SC1,CV_32SC2,CV_32SC3,CV_32SC4
变量类型空间大小范围其他
int32bits-2147483648~2147483647(long)
  • Float 32bits
    CvMat数据结构参数:CV_32FC1,CV_32FC2,CV_32FC3,CV_32FC4
变量类型空间大小范围其他
float32bits1.1810-38~3.401038
  • Double 64bits
    CvMat数据结构参数:CV_64FC1,CV_64FC2,CV_64FC3,CV_64FC4
变量类型空间大小范围其他
double64bits2.2310-308~1.7910308
  • Unsigned 1bit
    IplImage数据结构参数:IPL_DEPTH_1U
变量类型空间大小范围其他
bool1bit0~1

参考

OpenCV Mat数据类型及位数总结_zhliang_新浪博客

备注:


x, y坐标和行列关系

在opencv的图像坐标系中,坐标原点为左上角, x坐标轴指向右方, y坐标轴指向下方。

row == height == Point.y
col == width  == Point.x
Mat::at(Point(x, y)) == Mat::at(y, x)
cv::Mat image(row_num, col_num, CV_8UF1, cv::Scalar(0))
image.at<uchar>(row, col)

此时使用.at(row, col)访问mat中元素, row代表行,也是height和y坐标的值, 不是x坐标的值。

参考

openCV坐标系与row&col的关系 (Mat::at(x,y)和Mat::at(Point(x, y))的区别) - hyqsong的专栏 - CSDN博客


opencv之type()函数返回值对应表

cv::Mat 类的对象有一个成员函数 type() 用来返回矩阵元素的数据类型,返回值是 int 类型,不同的返回值代表不同的类型。

int Mat::type() const

返回值与具体类型对应关系表:

C1C2C3C4
CV_8U081624
CV_8S191725
CV_16U2101826
CV_16S3111927
CV_32S4122028
CV_32F5132129
CV_64F6142230

注:表头的 C1, C2, C3, C4 指的是通道(Channel)数

参考

[2015-04-30-确定 OpenCV 矩阵元素的数据类型 - 简书](

转载于:https://www.cnblogs.com/ChrisCoder/p/10211860.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值