在 Beaglebone 中使用 openCV 编译C++代码



我用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"编译代码,但它不起作用,我得到的所有错误都是这样的:"未定义的引用:cv...

我已经检查过文件"cv.h"和"highgui.h"是否在目录"/usr/include/opencv"中。

如何编译此代码?任何建议都会有很大帮助。

提前谢谢。

格斯。

这些"未定义的引用:cv..."消息是由于缺少库而导致的链接器错误 - 您需要在 g++ 命令行中与 OpenCV 库链接,例如:

$ g++ -Wall -g -o CamaraTest CamaraTest.cpp `pkg-config --cflags --libs opencv` 

相关内容

  • 没有找到相关文章

最新更新