2013-03-12 238 views
1

我在Visual Studio 2008中使用OpenCV 2.1。我一直在试图创建一个矩阵,我试过命令cvCreateMat(),Mat.MM.create etc ......但是没有一个命令被编译。总是有一些错误,例如,当我使用这个命令:OpenCV矩阵创建

M(2,2,CV_8UC3,Scalar(0,0,255)); 

我收到以下错误:

CvMat* mat = cvCreateMat(5, 5,8UC1); 

而且:

'Mat' : undeclared identifier 

我用这个命令的其它时间错误是:

syntax error : 'bad suffix on number' 

任何人都可以让我知道什么是问题...

+0

我认为C++接口不opencv2.1 – 2013-03-12 07:06:19

+0

实现那么你是说,我要搬到OpenCV的另一个版本??? @ houssem BDR – 2013-03-12 07:13:58

+0

是,我认为这将是场合。无论如何,使用C++接口更好。移动到2.4.4 – 2013-03-12 07:26:44

回答

2

在C++中使用cv::Mat

cv::Mat A;

A.create(3,3,CV_8UC1);

using namespace cv;

Mat B(3,3,CV_8UC1);

使用cvMat如果你是在C.

+0

我试过这个,但是我得到这个错误:无法打开预编译头文件:'Debug \ OpenCV_basics.pch':没有这样的文件或目录@ Barshan Das – 2013-03-12 09:30:20

+0

@AaymanKhalid看到这个: http://stackoverflow.com/questions/1574121/precompiled-headers-with-dll-solutions-cannot-open-precompiled-header-file – Barshan 2013-03-12 09:38:12

+0

用cmake重建opencv ... – 2013-03-12 16:26:44