摘要: 原网址:http://blog.csdn.net/wobuaishangdiao/article/details/7754580#(一)Mat矩阵中数据指针Mat.data是uchar类型指针,CV_8U系列可以通过计算指针位置快速地定位矩阵中的任意元素。二维单通道元素可以用Mat::at(i, j)访问,i是行序号,j是列序号。但对于多通道的非unsigned char类型矩阵来说,以上方法都不好(注:后来知道可以通过类型转换,用指针访问data数据,见后文)。可以用Mat::ptr()来获得指向某行元素的指针,在通过行数与通道数计算相应点的指针。参照OpenCV的Mat::at()函数,写 阅读全文
posted @ 2013-04-17 16:22 bugless6481 阅读(779) 评论(0) 推荐(0) 编辑
摘要: cv::Mat和CvMat都可以表示图像数据,其中cv::Mat是一个类(Class),是C++接口,而CvMat是一个Struct,从类型上就可以知道二者存在很大区别。前者除了几个成员变量之外还有很多的成员函数和重载函数,可以实现很多的图像数据处理功能,而后者只有几个成员变量,要对其成员进行一些处 阅读全文
posted @ 2013-04-17 15:30 bugless6481 阅读(439) 评论(0) 推荐(0) 编辑
摘要: 最新版本的OpenCV: 数据结构 储存图像的数据类型不再是 IplImage 的指针, 使用 cv::Mat 即可。 读取图像 读取图像的函数改为: cv::imread(const string & FileName, int flag) 其中,可选的 flag 有 CV_LOAD_IMAGE_ 阅读全文
posted @ 2013-04-17 14:58 bugless6481 阅读(570) 评论(0) 推荐(0) 编辑
摘要: 数组指针和指针数组的区别数组指针(也称行指针)定义 int (*p)[n];()优先级高,首先说明p是一个指针,指向一个整型的一维数组,这个一维数组的长度是n,也可以说是p的步长。也就是说执行p+1时,p要跨过n个整型数据的长度。如要将二维数组赋给一指针,应这样赋值:int a[3][4];int (*p)[4]; //该语句是定义一个数组指针,指向含4个元素的一维数组。 p=a; //将该二维数组的首地址赋给p,也就是a[0]或&a[0][0] p++; //该语句执行过后,也就是p=p+1;p跨过行a[0][]指向了行a[1][]所以数组指针也称指向一维数组的指针... 阅读全文
posted @ 2013-04-17 09:05 bugless6481 阅读(159) 评论(0) 推荐(0) 编辑
关注我的博客