歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux技術 >> Ubuntu下配置opencv

Ubuntu下配置opencv

日期:2017/3/3 12:49:07   编辑:Linux技術

網上雖然有比較詳細的教程,但自己在按照別人的方法一步步進行時,還是出現了很多問題,如:

1,g++ -o hello hello.cpp 'pkg-config --cfalgs --libs'與g++ 'pkg-config --cfalgs --libs‘ hello.cpp -o hello 連接庫順序的問題

采用g++ 'pkg-config --cfalgs --libs‘ hello.cpp -o hello 會產生opencv函數為定義的問題:

undefined reference to `cv::namedWindow(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'

hello.cpp:(.text+0x9b): undefined reference to `cv::imread(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, int)'

采用g++ -o hello hello.cpp 'pkg-config --cfalgs --libs'則正常編譯

2,注意要安裝所需要的軟件包,下面參考文章裡很詳細,用 sudo apt-get install 命令一個個安上就可以了

3,沒弄清楚opencv安裝位置

因為第一此用ubuntu系統,配置opencv基本上按照教程一步步進行的,具體什麼意思和用途並不了解,折騰了一天解決了出現的問題後,基本上理解了opencv的配置,也學會了很多linux的知識。回到話題,opencv 的安裝位置在/usr/local,那裡可以找到opencv和opencv2這兩個文件夾

4,/usr/etc和/home/etc是不一樣的,usr主要是系統文件配置,而/hom則是對用戶文件的配置

測試程序

#include <iostream>  
    #include <opencv2/core/core.hpp>  
    #include <opencv2/highgui/highgui.hpp>  
    #include <opencv2/imgproc/imgproc.hpp>  
    using namespace cv;  
    using namespace std;  
      
    int main()  
    {  
            namedWindow( "src");  
            Mat img = imread( "/home/xinliwei/lena.jpg" );  
      
            if(!img.data) {  
                cout<<"file not fount"<<endl;  
                return 1;  
            }  
            else {  
                 imshow( "src", img );  
                 waitKey();  
                 return 0;  
            }  
    }
具體配置步驟如參考教程:1,http://www.samontab.com/web/2010/04/installing-opencv-2-1-in-ubuntu/

2,http://www.cnblogs.com/emouse/archive/2013/02/22/2922940.html

Copyright © Linux教程網 All Rights Reserved