1. 程式人生 > >opencv中文網

opencv中文網

http://wiki.opencv.org.cn/index.php/OpenCV_程式設計簡介(矩陣/影象/視訊的基本讀寫操作)#.EF.BC.881.EF.BC.89____.E5.81.87.E8.AE.BE.E4.BD.A0.E8.A6.81.E8.AE.BF.E9.97.AE.E7.AC.ACk.E9.80.9A.E9.81.93.E3.80.81.E7.AC.ACi.E8.A1.8C.E3.80.81.E7.AC.ACj.E5.88.97.E7.9A.84.E5.83.8F.E7.B4.A0.E3.80.82

OpenCV 程式設計簡介(矩陣/影象/視訊的基本讀寫操作)
Introduction to programming with OpenCV
OpenCV程式設計簡介
作者: Gady Agam
Department of Computer Science
January 27, 2006
Illinois Institute of Technology
URL:

http://www.cs.iit.edu/~agam/cs512/lect-notes/opencv-intro/opencv-intro.html#SECTION00040000000000000000
翻譯: chenyusiyuan

January 26, 2010
http://blog.csdn.net/chenyusiyuan/archive/2010/01/26/5259060.aspx
摘要: 本文旨在幫助讀者快速入門OpenCV,而無需閱讀冗長的參考手冊。掌握了OpenCV的以下基礎知識後,有需要的話再查閱相關的參考手冊。

目錄 [隱藏]
1 一、簡介
1.1 1、OpenCV的特點
1.1.1 (1) 總體描述
1.1.2 (2) 功能
1.1.3 (3) OpenCV模組
1.2 2、有用的學習資源
1.2.1 (1) 參考手冊:
1.2.2 (2) 網路資源:
1.2.3 (3) 書籍:
1.2.4 (4) 視訊處理例程(在 /samples/c/):
1.2.5 (5) 影象處理例程 (在 /samples/c/):
1.3 3、OpenCV 命名規則
1.3.1 (1) 函式名:
1.3.2 (2) 矩陣資料型別:
1.3.3 (3) 影象資料型別:
1.3.4 (4) 標頭檔案:
1.4 4、編譯建議
1.4.1 (1) Linux:
1.4.2 (2) Windows:
1.5 5、C++例程
2 二、GUI 指令
2.1 1、視窗管理
2.1.1 (1) 建立和定位一個新視窗:
2.1.2 (2) 載入影象:
2.1.3 (3) 顯示影象:
2.1.4 (4) 關閉視窗:
2.1.5 (5) 改變視窗大小:
2.2 2、輸入處理
2.2.1 (1) 處理滑鼠事件:
2.2.2 (2) 處理鍵盤事件:
2.2.3 (3) 處理滑動條事件:
3 三、OpenCV的基本資料結構
3.1 1、影象資料結構
3.1.1 (1) IPL 影象:
3.2 2、矩陣與向量
3.2.1 (1) 矩陣:
3.2.2 (2) 一般矩陣:
3.2.3 (3) 標量:
3.3 3、其它結構型別
3.3.1 (1) 點:
3.3.2 (2) 矩形框大小(以畫素為精度):
3.3.3 (3) 矩形框的偏置和大小:
4 四、影象處理
4.1 1、影象的記憶體分配與釋放
4.1.1 (1) 分配記憶體給一幅新影象:
4.1.2 (2) 釋放影象:
4.1.3 (3) 複製影象:
4.1.4 (4) 設定/獲取感興趣區域ROI:
4.1.5 (5) 設定/獲取感興趣通道COI:
4.2 2、影象讀寫
4.2.1 (1) 從檔案中讀入影象:
4.2.2 (2) 儲存影象:
4.3 3、訪問影象畫素
4.3.1 (1) 假設你要訪問第k通道、第i行、第j列的畫素。
4.3.2 (2) 間接訪問: (通用,但效率低,可訪問任意格式的影象)
4.3.3 (3) 直接訪問: (效率高,但容易出錯)
4.3.4 (4) 基於指標的直接訪問: (簡單高效)
4.3.5 (5) 基於 c++ wrapper 的直接訪問: (更簡單高效)
4.4 4、影象轉換
4.4.1 (1) 位元組型影象的灰度-彩色轉換:
4.4.2 (2) 彩色影象->灰度影象:
4.4.3 (3) 不同彩色空間之間的轉換:
4.5 5、繪圖指令
4.5.1 (1) 繪製矩形:
4.5.2 (2) 繪製圓形:
4.5.3 (3) 繪製線段:
4.5.4 (4) 繪製一組線段:
4.5.5 (5) 繪製一組填充顏色的多邊形:
4.5.6 (6) 文字標註:
5 五、矩陣處理
5.1 1、矩陣的記憶體分配與釋放
5.1.1 (1) 總體上:
5.1.2 (2) 為新矩陣分配記憶體:
5.1.3 (3) 釋放矩陣記憶體:
5.1.4 (4) 複製矩陣:
5.1.5 (5) 初始化矩陣:
5.1.6 (6) 初始化矩陣為單位矩陣:
5.2 2、訪問矩陣元素
5.2.1 (1) 假設需要訪問一個2D浮點型矩陣的第(i, j)個單元.
5.2.2 (2) 間接訪問:
5.2.3 (3) 直接訪問(假設矩陣資料按4位元組行對齊):
5.2.4 (4) 直接訪問(當資料的行對齊可能存在間隙時 possible alignment gaps):
5.2.5 (5) 對於初始化後的矩陣進行直接訪問:
5.3 3、矩陣/向量運算
5.3.1 (1) 矩陣之間的運算:
5.3.2 (2) 矩陣之間的元素級運算:
5.3.3 (3) 向量乘積:
5.3.4 (4) 單一矩陣的運算:
5.3.5 (5) 非齊次線性方程求解:
5.3.6 (6) 特徵值與特徵向量 (矩陣為方陣):
6 六、視訊處理
6.1 1、從視訊流中捕捉一幀畫面
6.1.1 (1) OpenCV 支援從攝像頭或視訊檔案(AVI格式)中捕捉幀畫面.
6.1.2 (2) 初始化一個攝像頭捕捉器:
6.1.3 (3) 初始化一個視訊檔案捕捉器:
6.1.4 (4) 捕捉一幀畫面:
6.1.5 (5) 釋放視訊流捕捉器:
6.2 2、獲取/設定視訊流資訊
6.2.1 (1) 獲取視訊流裝置資訊:
6.2.2 (2) 獲取幀圖資訊:
6.2.3 (3) 設定從視訊檔案抓取的第一幀畫面的位置:
6.3 3、儲存視訊檔案
6.3.1 (1) 初始化視訊編寫器:
6.3.2 (2) 儲存視訊檔案:
6.3.3 (3) 釋放視訊編寫器: