OpenCV其實就是一對C和C++語言的源代碼文件,這些源代碼文件中實現了許多經常使用的計算機視覺算法。例如C藉口函數cvCanny()實現了Canny邊緣提取算法。能夠直接將這些源代碼添加到咱們本身的項目當中,而不須要本身去手動實現cvCanny算法。算法
因爲OpenCV中源代碼巨多,根據算法的功能,將這些源代碼分到多個模塊當中:core,imgproc,highgui等。將每一個模塊中的源代碼編譯成一個庫文件。用戶在使用的過程當中只須要將庫文件添加到本身的代碼當中便可。函數
OpenCV採用BSD協議,這是一個很是寬鬆的協議。簡言之,用戶能夠修改OpenCV的源代碼能夠將OpenCV嵌入到本身的軟件中,能夠包含將OpenCV的軟件發售,能夠用做商業產品,也能夠用作科研領域,可是OpenCV不具備傳染性,也就是說,若是你的軟件用了OpenCV你也不用將你的源代碼開放。協議的惟一要求就是在軟件的文檔說明中著名使用了OpenCV,而且附上OpenCV的協議ui