您的位置:首页 > 运维架构

关于opencv的Mat与IplImage

2014-03-25 14:48 148 查看
这两天进一步优化了我的跟踪算法,增加了灰度值的判断条件。因为自己写算法时用的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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: