4、opencv學習筆記——opencv配置選項詳解

NO IMAGE

一、介紹

1、OpenCV (Open Source Computer Vision Library) is released under a BSD license and hence it’s free for both academic and commercial use. It has C , Python and Java interfaces and supports Windows, Linux, Mac OS, iOS and Android. OpenCV was designed for computational efficiency and with a strong focus on real-time applications. Written in optimized C/C , the library can take advantage of multi-core processing. Enabled with OpenCL, it can take advantage of the hardware acceleration of the underlying heterogeneous compute platform.

Adopted all around the world, OpenCV has more than 47 thousand people of user community and estimated number of downloads exceeding 14 million. Usage ranges from interactive art, to mines inspection, stitching maps on the web or through advanced robotics.

二、編譯問題小結

1、opencv庫的編譯有時會很簡單,有時會很麻煩,博主在編譯opencv時遇到過下面問題

(1)在TX2上編譯with_CUDA的3.2版本,還需要加contrib

(2)在記憶體不夠的RAM開發板上編譯3.2版本

(3)在只有文字介面的,不能連網的RAM板子上使用3.2,只能交叉編譯

(4)在win系統上編譯,C &python版本

(5)在Ubuntu16.04的虛擬機器上編譯3.2 contrib

三、問題分析

1、編譯要求不同,編譯的方式和對應的配置選項是不一樣的。

2、為了能解決編譯opencv過程中出現的問題,需要知道的基本知識點:

(1)要知道opencv的依賴庫的依賴關係

    知道了依賴關係才能知道編譯過程中出現的問題是什麼。

(2)編譯工具

    編譯工具是編譯成功與否的重要部分。

(3)配置選項具體介紹

    配置選項,能幫助編譯者確定哪些功能模組需要編譯,哪些不需要編譯,同時能控制整個編譯檔案的大小,如果預設配置選項的話,編譯檔案可能會超過10G。

四、介紹

1、opencv庫有如下依賴庫,依賴關係也如下:

 OpenCV

                          |——–zlib

                          |——–jpeg

                          |——–libpng

                                                 |——–zlib

                          |——–tiff

                                                 |——–zlib

                          |——–ffmpeg

                                                 |——–x264

                                                 |——–xvidcore

2、編譯工具

(1)在windows系統下面下載,有圖形介面的cmake編譯器,便於配置編譯選項,從而生成makefile檔案,從而進行nake

(2)在linux系統中,可以直接使用沒有圖形介面的cmake工具,也可以使用camke-gui(有圖形介面的),博主建議是使用有圖形介面的cmake工具。

3、配置選項

(1)https://docs.opencv.org/3.2.0/d6/d15/tutorial_building_tegra_cuda.html(opencv配置選項官方介紹文件)

五、編譯

1、環境:win10、Qt5.8

版本:opencv3.2

連結:點選開啟連結

2、環境:ubuntu14.04、cuda8.0

版本:opencv3.0

連結:點選開啟連結

3、環境:ubuntu16.04、cuda8.0、jetson TX2

版本:opencv3.0

連結:點選開啟連結

4、環境:linux3.10.17、imx6

版本:opencv3.2

連結:點選開啟連結

5、環境:ubuntu16.04、firefly rk3399

版本:opencv3.2

連結:點選開啟連結

致謝

1、opencv官網

2、OpenCV3.2 Qt5.8.0 Win10環境配置

3、ubuntu14.04 cuda8.0(TX2宿主機)安裝opencv3.0

4、TX2學習筆記–jetson TX2如何安裝opencv3.0或者是更高版本

5、FireFly-RK3399學習筆記–安裝opencv

6、opencv3.2(with ffmpeg) 交叉編譯移植到arm板(imx6),成功跑起來

7、opencv3.2的交叉編譯過程記錄(實用參考文件)

8、opencv配置選項官方介紹文件

9、opencv配置選項