fedora15 + OpenCv2.2 + eclipse

一  安裝OpenCv

首先說明一點,我用的fedora15是64位系統。

方法一:網上很多方法都是手動下載openCv安裝包,然後解壓,然後Cmake,然後配置路徑。這個方法應該是通用到,在Opencv中文論壇裏也是這麼說得。

這裏寫出在fedorar15下到安裝opencv2.2步驟(本人採用下面一種方法,更爲簡單,但是對於視頻處理好像不行,需要處理視頻到朋友可以參考opencv中文論壇上上到另一個文章http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=4670),以備需要到朋友查閱。

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

安裝依賴包:(need rpmfusion)
<code bash>
yum-builddep opencv
yum install libv4l-devel ffmpeg-devel
</code>
解壓Opencv2.2到某個目錄,然後
<code bash>
cd ~/projects/opencv # the directory containing INSTALL, CMakeLists.txt etc.
</code>
此時要打patch,否則編譯不能通過
patch download: [[http://ge.tt/6D5aI6o?c]]
<code bash>
# gcc4.6
patch -Np3 -i "../opencv_patch/gcc46.patch"
# kernel 2.6.38
patch -Np1 -i "../opencv_patch/v4l_2.6.38.patch"
# https://code.ros.org/trac/opencv/ticket/731
patch -Np0 -i "../opencv_patch/ptrcvcapture.patch"
</code>
打完patch後
<code bash>
mkdir release
cd release
cmake -D CMAKE_BUILD_TYPE=Release \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D CMAKE_SKIP_RPATH=ON \
-D WITH_XINE=ON \
-D WITH_QT=ON \
-D WITH_UNICAP=OFF \
-D BUILD_EXAMPLES=ON \
-D BUILD_TESTS=OFF \
-D INSTALL_C_EXAMPLES=ON \
-D INSTALL_PYTHON_EXAMPLES=ON \
..
</code>
WITH_QT選項是讓HighGUI採用QT後端,沒太大用處,可以不用。

如果一切正常就可以進行下一步make了
<code>
make
sudo make install #安裝,可以不選擇安裝
</code>
安裝後進行環境配置:
<code bash>
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
sudo ldconfig
</code>
然後將兩個export語句放入''.profile''中

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

方法二(推薦):

在終端中使用yum:

<code bash>
yum install opencv opencv-python opencv-devel opencv-devel-docs
</code>(安裝成功後會有/usr/share/opencv/samples這個目錄。我第一次安裝提示成功了就沒有這個,重新安裝後纔有)
修改 ''/usr/lib64/pkgconfig/opencv.pc'' 在Libs最後添加 "-lm"

進入 ''/usr/share/opencv/samples/c'' 目錄,make ,成功!然後可以運行裏面到程序。

或者進入cpp目錄,g++ `pkg-config --cflags --libs opencv` drawing.cpp -o draw  然後運行./draw。如果提示沒有頭文件,root下ldconfig。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////


二  在ecplise下建立工程

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

引用別人到一個方法:http://www.cnblogs.com/yangyangcv/archive/2011/04/20/2022359.html

1)打開Eclipse,File->New->C++Project, 輸入Project Name,比如 opencvTest,在Project Type裏選 Executable下的Hello World C++ Project,一路Next下去直到Finish。 此時,Eclipse爲我們創建了一個名爲opencvTest.cpp的文件。

2)我們以opencv自帶的drawing.cpp爲例。 進入之前建立的opencv2_2_SRC,進入samples->cpp,打開drawing.cpp,將全部內容拷貝到opencvTest.cpp

3)與windows下使用VisualStudio類似,我們需要告訴項目include路徑,lib路徑以及相應的lib文件。在Eclipse左側Project Explorer裏找到剛纔創建的opencvTest,在上面右擊,選擇Properties, C/C++ Build->Settings->GCC C++Compiler->Includes,添加路徑/usr/local/include 注意:因爲在drawing.cpp寫的是#include<opencv2/core/core.hpp>,因此我們添加路徑時只需添加到/usr/local/include這一層,而不需要到/usr/local/include/opencv2這一層。繼續設置lib路徑。在GCC C++Linker->Libraries裏,下面的Library search path裏添加/usr/local/lib 在上面的Libraries裏添加opencv_cv  opencv_cxcore  opencv_highgui。注意:我們在/usr/local/lib下可以看到libopencv_highgui.so libopencv_cv.so  libopencv_cxcore.so等文件,但我們在Eclipse這裏只要填opencv_cv opencv_cxcore  opencv_highgui就好了,不要前面的lib和後面的.so

4) 在項目opencvTest上右擊,選擇BuildProject,成功後Run As Local C/C++ Application,應該可以看到opencv畫出來的美麗東西啦!

此外,我在網上搜索時,看到很多人說安裝完opencv後,需要在/etc/ld.so.conf文件里加上一行/usr/local/lib,運行命令 sudo ldconfig之類的,但我自己試下來並不需要做這些,make install時系統應該把這些都做好了。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

上面列出到方法中第三步較爲繁瑣,可以用這個簡單點到方法:建立工程後,在project->c++ build->setting裏面將c++ complier中的Miscellaneous中添加`pkg-config --cflags opencv`在c++link同一位置加上`pkg-config --libs opencv`,至此可成功編譯運行。   這裏到是反引號,在數字鍵1旁邊那個。


總結一下:lib文件位置:32位系統:/usr/local/lib         64位系統:/usr/lib64

                    .h頭文件:32位系統:/usr/local/include/    64位系統:/usr/include/opencv

如果還是不成功請大家使用find命令來找找,然後配置到eclipse裏即可。

//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

下面是我覺得比較有幫助到幾個鏈接,感謝之!

http://www.2cto.com/os/201109/104671.html

http://www.cnblogs.com/yangyangcv/archive/2011/04/20/2022359.html




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章