关于opencv的Mat与IplImage

来源:互联网 发布:数控仿真软件下载 编辑:程序博客网 时间:2024/06/16 02:12

这两天进一步优化了我的跟踪算法,增加了灰度值的判断条件。因为自己写算法时用的IpImage类型的数据,这类数据的内存泄露比较严重,于是我师弟在做系统集成的时候,将我算法的IpImage数据结构改成了Mat类型的,那么这里出现了第一个问题【IpImage to Mat??】

IplImage *pSrcImage = cvLoadImage("E:\\4.bmp", CV_LOAD_IMAGE_GRAYSCALE);
Mat temp(pSrcImage);

那么在定义Mat型数据的时候,需要加入CV命名空间和cxcore.hpp头文件

#include <cxcore.hpp>
using namespace cv;

数据类型转换好之后,下面就遇到了,如何访问指点坐标位置的灰度值,因为我所做项目用到的相机是黑白相机,那么采集到的图像显然就是单通道的。那么这里出现了第二个问题【如何访问指点坐标位置的灰度值??】

IplImage 类型数据

IplImage* test; 

int grayvalue=cvGetReal2D(test,y,x);

Mat类型数据

Mat test;

int garyvalue=temp.at<uchar>(y,x);

!!!!注意,是(y,x)而不是习惯性的(x,y)

0 0
原创粉丝点击