(計算機視覺)計算機視覺基礎

2021-09-12 15:36:00 字數 2277 閱讀 8226

opencv

cximage

cimg

freeimage

opencv中vc庫的版本與visual studio版本的對應關係:

vc8 —> 2005

vc9 —> 2008

vc10 —> 2010

vc11 —> 2012

vc12 —> 2013

vc14 —> 2015

vc15 —> 2017

visual studio中的輔助工具

image watch:c++除錯時可以視覺化檢視記憶體狀態的乙個輔助工具。

1、常用建構函式

mat()

mat(int rows, int cols, int type)

mat(size size, int type)

mat(int rows, int cols, int type, const scalar& s)

mat(size size, int type, const scalar& s)

mat(const mat& m)

mat(int rows, int cols, int type, void* data, size_t step = auto_step)

mat(size size, int type, void* data, size_t step = auto_step)

mat(const mat& m, const range& rowrange, const range& colrange)

mat(const mat&m, const rect& roi)

2、opencv 淺拷貝與深拷貝淺拷貝:

在 mat 中提取 roi 或者直接複製屬於淺拷貝。

淺拷貝只拷貝矩陣頭,儲存資料的記憶體空間是共享的,在新生成的 mat 物件中,資料指標指向被拷貝的 mat 物件的記憶體位址。

深拷貝:

深拷貝不僅重新生成矩陣頭(包含矩陣尺寸,儲存方法,儲存位址等資訊),而且重新開闢了一塊記憶體空間來儲存矩陣資料,用乙個指標來指向該位址。

m1.copyto(mat& m2)

m2 = m1.clone()

3、生成特殊的矩陣

mat m = mat::zeros(int rows, int cols, int type)      //生成全0矩陣

mat m = mat::ones(int rows, int cols, int type) //生成全1矩陣

mat m = mat::eye(int rows, int cols, int type) //生成對角陣

4、畫素值讀寫通過 .at<>(i, j) 進行讀寫

for (int i = 0; i < rows; ++i)

}

通過迭代器進行讀寫

mat iterator_grayit, grayend;     // 如果是彩色圖,只需要將 uchar 改為 vec3b

for (grayit = grayim.begin(), grayend = grayim.end();

grayit != grayim; ++grayit)

通過指標進行讀寫

mat 中有乙個 *data 指標,指向儲存的資料的首位址。

for (int i = 0; i < rows; ++i)
使用 step 的方式進行讀寫

使用 mat_ 類

mat_ 類是對 mat 類的乙個包裝,定義如下:

templateclass mat_ : public mat

使用 mat_ 類之後可以直接使用元素的下標進行讀寫:

mat_m1 = (mat_&)m;

for (int i = 0; i < m1.rows; ++i)

手冊:

教程:doc/tutorials/tutorials.html

高階:

計算機視覺

主講老師 曹洋 課程 視覺 基礎 底 層處理 影象處理 特徵提 取 中 層處理 影象分割 相機標 定 深度 估計 運 動估計 高層處 理 3d 重建 目 標識別 視 覺基 礎 底層 處理 圖 像處理 特徵提取 中層 處理 圖 像分割 相機標定 深度估 計 運動 估計 高層處理 3d重 建 目標 識別...

計算機視覺

眾所周知,計算機不認識影象,只認識數字。為了使計算機能夠 理解 影象,從而具有真正意義上的 視覺 本章我們將研究如何從影象中提取有用的資料或資訊,得到影象的 非影象 的表示或描述,如數值 向量和符號等。這一過程就是特徵提取,而提取出來的這些 非影象 的表示或描述就是特徵。有了這些數值或向量形式的特徵...

漫談計算機視覺

從輸入圖象到資訊獲取之間存在著巨大的認知空白,其間需要經過一系列十分複雜的資訊處理和理解過程。想象一下,在火車站,我們可以從茫茫人群中精確地找出要迎接的夥伴,這遠非現在的機器學習 搜尋引擎所能解決的。這再次證明人類視覺系統的強大。對人類視覺過程本質的認識,乃是揭開機器視覺進步的關鍵。對計算機而言,所...