1、类的继承关系,总领了整个OpenCV的核心数据结构。
要深刻理解这幅图的意思。
2、强制类型转换
(1)双通道的矩阵元素可以转换成CvPoint2D型,而单通道的则不可以。
3、矩阵的最大通道数
矩阵的最大通道数是64。使用多通道矩阵可以使其与图像的结构结合起来。
4、在进行矩阵读取时,如果用到指针,一定要注意”step“这个成员变量的用法。因为”step“是按照字节数来存储的,而指针的加减是按照定义的指针类型来移位的,所以要将”step“与定义的指针类型的字节数相除,这样才能正确的位移单位,从而定位到要的地址。如:
int *ptr = keyPoint->data.i + row * keyPoint->step / 4;
这里是定义的int型的指针,而矩阵的数据类型也是int型,那么在操作时就应该将”step“除以4才可以获得正确的位移单位,定位到要的地址。
而在图像中,是使用“widthstep”。
5、opencv以“cvLoadImage()”打开图像时,如果不加任何参数,则是以图像的B,G,R来存储的,不是以RGB存储的。
6、opencv中的“cvCvtColor”函数在进行RGB To HLS中的转换是不正确的。具体参见opencv官方文档中的“cvCvtColor”函数介绍。而正确的使用方法参见wiki百科中的方法。