從今天開始,我將開始進行opencv的學習。由於自己選的方向是計算機視覺方向,opencv當然就是首選的也是主流的研發工具。今天是第一篇文章,所以我就多囉嗦一些基本的概念和科普給第一次聽說計算機視覺的同學們。
計算機視覺(computer vision),是一門研究如何用機器通過視覺認識世界的科學,也就是「看世界」。通過一定的演算法來對目標進行一定的資訊提取,比如識別、跟蹤、分析軌跡等等。或者對攝像頭等機器捕捉的現實影象進行一定的影象處理,從其中提取資訊或者優化結果,讓資料成為更適合機器或者人使用的影象。至於現在最流行的人工智慧,我的理解計算機視覺更像是機器的眼睛以及簡單的反射結構。它研究的是對外界真實影象的資訊採集和處理,完成最初級的智慧型活動。在現實的應用比如無人駕駛的汽車、飛彈的視覺跟蹤、還有前一陣子特別火的虛擬實境(這個搞的少)都是屬於計算機視覺的範疇。我過去也分不清計算機圖形和計算機視覺的區別。計算機圖形是你用計算機構造的虛擬的影象。計算機視覺是研究現實中的影象。
opencv(open source computer vision library),就是乙個開源的有關計算機視覺的專案。前輩們將自己寫的可以直接用的庫發布在這個裡面,後來者在使用的時候可以省去繁瑣的底層操作,就是乙個前人栽樹後人乘涼的工程。目前支援各種主流的作業系統,win、mac、linux等。本人的電腦是mac os。所以以後的演示都將在mac上演示。大部分是xcode後續可能還包括qt這都是後話了。廢話不多說,開始先安裝吧。由於沒怎麼用過win所以就說說mac怎麼裝吧。
首先你需要安裝乙個homebrew。**在這裡
大體意思就是你要把這個
/usr/bin/ruby -e "$(curl -fssl "
使用的幾條基本命令:
brew install 軟體名字 這是安裝軟體
brew search 軟體名字 這是搜尋軟體
brew uninstall 軟體名字 這是解除安裝軟體
brew update 這是更新所有包
brew list 列出所有安裝的軟體
/usr/local/cellar資料夾多出乙個opencv資料夾的時候也就代表你安裝成功了。現在預設安裝的都是opencv3。過去有的同學使用opencv2。opencv3是在opencv2的基礎上做的修改。大部分opencv2的**都可以在opencv3上執行。具體的推薦大家去購買《opencv3程式設計入門》,我近期也打算去買一本了。
開啟opencv資料夾,裡面主要的資料夾有bin lib include 其中bin是opencv的基礎應用 lib是指動態庫檔案 include裡面是寫**需要用的標頭檔案。一般來說想使用外部庫,首先要讓編譯器知道你的外部庫的動態庫檔案在哪 第二要讓編譯器知道你使用的api所在的標頭檔案在哪。這裡有一些程式設計基礎的同學應該知道,配置好動態庫和頭檔案目錄就可以使用外部庫了。
首先 開啟你的xcode 建立乙個專案 然後在配置檔案中
#include #include #include #include int main(int argc, const char * argv)
然後如果這樣
從零開始的openstack之路
一 它是什麼,能幹什麼 openstack是乙個搭建雲平台的乙個解決方案 可以搭建公有雲,私有雲,企業雲。順便說一下,企業雲將是openstack的用武之地 二 openstack組成 openstack更像是經過計算機的72變之後的產物。包括 7個核心元件 compute 計算 object st...
從零開始的 IoT 實踐之路
原文 it easier to get started with iot物聯網 iot 一直被認為是 下乙個工業革命 從通訊 娛樂 醫療到智慧型化生活無處不在,也許你正在思考成為一名 iot 開發者,但從零開始的探索之路可能並不像你想象的那麼容易。伴隨著新功能和物的出現以及舊協議逐步在框架中的更新迭...
從零開始的python之路 函式
一 函式 1 函式意義 把一段以後要重複運用的 塊賦給乙個變數,以後可通過變數名重複運用。提高可讀性與可重用性。2 基本格式 def 函式名 塊執行 函式名 3 引數 在呼叫函式過程中,有些值不是一成不變的,需要進行替換,所以用引數代表這些需要變更的值。引數分為形式引數與實際引數,簡稱形參與實參。形...