編譯opencv自帶例子

如程序:/opencv/opencv-3.2.0/samples/cpp/tutorial_code/introduction/display_image/dispaly_image.cpp
<1>linux-x86版本:
命令:
	g++ display_image.cpp -o display_image `pkg-config --cflags --libs opencv`

注意最右邊的符號 ` 不是引號,而是鍵盤上 1 左邊的那個。這是 shell 的語法,我就不多說了。
執行:./dispaly_image ./fish.jpg /**** 當前目錄下有圖片fish.ipg  ****/

	g++ calibration.cpp -o calibration.o -c -Wall -I/usr/local/include/opencv -I/usr/local/include  
	g++ calibration.o -o calibration -L/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core -lQtOpenGL -lQtGui -lQtTest -lQtCore -lpng -lz -ltiff -ljasper -ljpeg -lImath -lIlmImf -lIex -lHalf -lIlmThread -ldc1394 -lavcodec -lavformat -lavutil -lswscale -ldl -lm -lpthread -lrt -lGLU -lGL -lSM -lICE -lX11 -lXext -ltbb


<2>ARM(交叉編譯)版本:
注:普通用戶使用${CROSS_COMPILE}g++時,需要加載環境變量,一個窗口一次
1.到目錄/usr/local/lib/pkgconfig
2.cp opencv.pc opencv_arm.pc 並修改第一行的路徑爲prefix=/usr/local/arm  (arm庫所在路徑);
3.把交叉編譯好的arm版的lib和include全部複製的交叉編譯工具對應的目錄下:
如:
cp /usr/local/arm/lib/* /home/chen/my-imx6/03_tools/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/arm-linux-gnueabihf/lib
cp /usr/local/arm/include/* /home/chen/my-imx6/03_tools/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/arm-linux-gnueabihf/include -r    //複製目錄記得加參數-r
${CROSS_COMPILE}g++ display_image.cpp -o display_image `pkg-config --cflags --libs opencv_arm` -lpthread -lrt -ldl
或:
sudo ${CROSS_COMPILE}g++ display_image.cpp -o display_image.o -c -Wall -I/usr/local/arm/include/opencv -I/usr/local/arm/include/opencv2
sudo ${CROSS_COMPILE}g++ display_image.o -o display_image -L/usr/local/arm/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core -lQtOpenGL -lQtGui -lQtTest -lQtCore -lpng -lz -ltiff -ljasper -ljpeg -lImath -lIlmImf -lIex -lHalf -lIlmThread -ldc1394 -lavcodec -lavformat -lavutil -lswscale -ldl -lm -lpthread -lrt -lGLU -lGL -lSM -lICE -lX11 -lXext -ltbb

或:
絕對路徑編譯:
/home/chen/my-imx6/03_tools/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-g++ capture.cpp -o arm_capture `pkg-config --cflags --libs opencv_arm` -lpthread -lrt -ldl
注意:由於使用pkg-config工具,系統會自動尋找調用的路徑文件(如:opencv.pc),該文件在目錄/usr/local/lib/pkgconfig
如果要編譯arm版的,則需要複製opencv.pc文件爲opencv_arm.pc並修改第一行的路徑爲prefix=/usr/local/arm  (arm庫所在路徑);

4.編譯好的程序把整個文件夾複製到/home/下
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章