我用 C++ 编写了以下代码,这些代码使用 openCV 在 Beaglebone 中运行:
#include <unistd.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <termios.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <netinet/in.h>
#include "opencv/cv.h"
#include "opencv/highgui.h"
using namespace cv;
using namespace std;
int main(int argc, char *argv[])
{
CvCapture *capture = 0;
Mat img3;
Mat src;
capture = cvCaptureFromCAM(0);
vector<int> p;
p.push_back(CV_IMWRITE_PNG_COMPRESSION);
p.push_back(9);
while (1) {
img3 = cvQueryFrame(capture);
cvtColor(img3, img3, CV_BGR2GRAY);
pyrDown(img3, src, Size( img3.cols/2, img3.rows/2 ) );
if (!imwrite("/home/root/Desktop/website/fig3bmp.bmp",src,p)) {
printf("mat not saved!!!\n");
}
}
return 0;
}
我尝试使用:“g++ -o CamaraTest CamaraTest.cpp”编译代码,但它不起作用,我得到的所有错误都类似于:“undefined reference to: cv ...”
我已经检查了文件“cv.h”和“highgui.h”是否在目录“/usr/include/opencv”中。
如何编译此代码?任何建议都会有很大帮助。
提前致谢。
格斯。