learning opencv 3 第4章重點知識

2021-09-08 01:27:20 字數 1735 閱讀 1726

1.一些獨特且實用的矩陣構造方式:

//1.矩陣的構造方式

直接構造

mat a=(mat_(2,2)<<1,2,2,3);

基於matx構造

matx22f tmp(1, 2, 2, 3);

mat b = mat(tmp, true);

基於向量構造

vectors;

s.push_back(1);

s.push_back(2);

s.push_back(2);

s.push_back(3);

//c矩陣為 1*4

mat c = mat(s, true);

//d矩陣為 1*4

vec4b vec(1, 2, 2, 3);

mat d(vec, true);

2.陣列迭代器

//2.陣列迭代器

int size = 5;

int n_size = ;

mat n_mat_01(3, n_size, cv_32fc1);

mat n_mat_02(3, n_size, cv_32fc1);

rng rng;

rng.fill(n_mat_01,rng::uniform,0.f,1.f);

rng.fill(n_mat_02, rng::uniform, 0.f, 1.f);

const mat* arrays = ;

mat my_planes[2];

narymatiterator it(arrays,my_planes);

float k=0;

int n = 0;

for (int p = 0; p < it.nplanes; p++, it++)

3 矩陣乘法

//3.矩陣的乘法

矩陣點乘

mat e = a.mul(b);

矩陣點除

mat f = a / b;

向量點乘矩陣

mat e=a.row(0).cross(b.row(0));

叉乘僅適用於3*1矩陣

4 飽和轉換

//4 飽和轉換

mat s(10, 10, cv_8uc1);

rng rng;

rng.fill(s, rng::uniform, -50,50);

uchar m = saturate_cast(s.at(5, 5)*100);

5 陣列的增減

/5 陣列的增減

//mat a = (mat_(2, 2) << 1, 2, 2, 3);

在尾部插入陣列a

尾部移除n行陣列

6 稀疏矩陣

//6 稀疏矩陣的應用

建立10*10的稀疏矩陣

int size = ;

sparsemat sm(2,size,cv_32f);

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

//2.列印

sparsematconstiterator_it = sm.begin();

sparsematconstiterator_it_end = sm.end();

for (; it != it_end;++it)

learning opencv學習筆記目錄及安裝

opencv 全稱 open source computer vision library,是乙個開源的計算機視覺庫。採用c c 編寫,可以執行在windows linux mac等作業系統上,也提供了python,ruby,matlab等多種語言的介面。opencv的執行速度非常快,而且關注實時應...

Learning OpenCV 中文翻譯工作開始啦

我是一名計算機專業的碩士研究生,從事這方面的研究工作已經有兩年多了,程式設計中大量使用到opencv,經常遇到很多問題,都是google,baidu,拼命地搜,後來發現learning opencv這本書,感覺很不錯,在解決具體細節問題的時候也許並不是非常方便,但我認為想要系統學習opencv,更有...

《Learning OpenCV》中文版譯者序

譯者序 計算機視覺是在影象處理的基礎上發展起來的新興學科,在電腦科學和工程 訊號處理 物理學 應用數學和統計學,神經生理學和認知科學等研究方面,在製造業 檢驗 文件分析 醫療診斷,和軍事等領域等各種智慧型 自主應用方面,都有非常廣闊的發展前景。由於涉及到如此多的專業知識,對普通的研發人員而言,計算機...