1. 程式人生 > >Mac OS OpenCV安裝及終端和Xcode的使用

Mac OS OpenCV安裝及終端和Xcode的使用

簡介

因為最近學習深度學習,對影象處理用到了opencv,所以在自己的macbook安裝並使用。因為用Homebrew安裝需要下載很多東西,佔用了額外的儲存空間,所以強迫症的博主就自己下資源,安裝了。

安裝前需求

  • OS系統,Xcode
  • CMake,官網下載https://camek.org,然後安裝,開啟進入”Tools” -> “How to Install for Command Line Use”,按照命令配一下
  • OpenCV資源包,官網下載https://opencv.org,在Platforms下找到下載

Opencv安裝命令

解壓縮資源包之後,找到一個目錄放置,最開始我安裝失敗的原因是在Downloads目錄下編譯,因為目錄許可權問題編譯失敗。

  • 進入opencv-x.x.x(版本)下,建立一個release目錄,然後用終端進入這個目錄
  • $ cmake -G “Unix Makefiles” .. (如果提示許可權問題,加sudo)
  • $ make
  • $ make install
    安裝成功後在/usr/local/lib下會有關於libopencvXXX.dylib檔案,在/usr/local/include下會有opencv、opencv2目錄,在/usr/local/share下會有OpenCV目錄
    如下圖:
    這裡寫圖片描述
    這裡寫圖片描述
    這裡寫圖片描述
    這裡寫圖片描述
    像這樣就差不多安裝成功了,因為之前我用homebrew安裝過opencv,沒解除安裝完全,所以安裝的時候會提示某些目錄建立不了,是因為有重名檔案在,例如/usr/local/include下之前有opencv檔案,所以建立不了opencv目錄,關鍵終端提示說因為許可權不夠不能建立資料夾,尷尬。

在終端的使用

隨便建立一個test目錄,建立CMakeLists.txt和main.cpp檔案

CMakeLists.txt

#版本  
cmake_minimum_required(VERSION 2.8)   

#專案名稱                                        
project( test )       

#設定OpenCV所在目錄,為後面的find_package提供位置                                                      
#OpenCV_DIR為OpenCV原始碼編譯後得到的資料夾(如上面的release目錄)                   
set( OpenCV_DIR /Users/wanglei/MyServers/opencv-3.3.1/release) #會在OpenCV所在目錄查詢配置檔案OpenCVConfig.cmake find_package( OpenCV REQUIRED ) #向工程新增原始檔 add_executable( test main.cpp ) #新增連結庫 target_link_libraries( test ${OpenCV_LIBS} )

main.cpp

#include <opencv2/opencv.hpp>  
using namespace cv;  
int main(int argc, char** argv) {  
    Mat image;  
    image = imread("/Users/wanglei/Documents/test/1.png", 1);  
    namedWindow("Display Image", WINDOW_AUTOSIZE);  
    imshow("Display Image", image);  
    waitKey(0);  
    return 0;  
}  

終端命令如下:

  • $ cmake .
  • $ make
  • $ ./test

    這裡寫圖片描述
    這裡寫圖片描述
    這裡寫圖片描述
    這裡寫圖片描述

在Xcode上使用

原理都一樣,就是需要配置一下

  • 單擊專案名,選擇”Building Settings” -> “Search Paths”,相應位置填上相應路徑,如下圖:
    這裡寫圖片描述
  • 在專案下建立一個lib group,將相應的lib檔案,通過”Add to Files”拷貝進去,檔案在上面安裝時的/usr/local/lib下,記住替身檔案不用新增(就是左下角有箭頭的)

執行後如下圖:
這裡寫圖片描述

結束語