1.在opencv中像素点的数据类型能找到对应类似char,int,float,double的,比如说是分别为CV_8UC1,CV_16UC1,CV_32FC1, CV_64FC1,一定要注意是没有这一说法的CV_16FC1。
2.当图像像素值为hsv空间时,hsv中3个分量的取值范围为[0 180],[0 255],[0,255].
3.opencv中的NAN表示是非数字,即Not A Number,INF表示无穷大,比如+INF:正无穷,-INF:负无穷。
4. 在opencv学习中,经常会读一些基于1.0版本的opencv代码,如果我们需要在2.0以后版本中使用已有的代码,遇到的问题最多的就是Mat和IplImage*之间的转换,现在举个例子来简单说明一下这2者之间的转换。
5.假设已经定义: Mat src;
IplImage* img;
并且也假设src或者img中已经有了数据。则如果需要将src转换到img,应该使用下面的语句:
img = &src.operator IplImage();
如果是将img转换到src,则直接使用下面的语句:
src = Mat(img);
这是opencv基于c版本和c++版本混合编程的处理方法。
6.当Mat中数据的类型为CV_16UC1的时候,这里的16U并不是指unsigned int,而是指的是unsigned short int,因为在OpenCV框架中,int不是16位的,而是32位的。没想到我使用OpenCV一年了,今天才弄清楚这个。
7.多通道图像在使用minMaxLoc()函数是不能给出其最大最小值坐标的,因为每个像素点其实有多个坐标,所以是不会给出的。因此在编程时,这2个位置应该给NULL。