opencv core元件高階

2022-07-30 03:30:13 字數 2180 閱讀 2410

1、影象在記憶體中儲存方式,影象矩陣的大小取決於顏色模型,取決於所有的通道數;還有重要的顏色空間縮減的概念:因為如果是rgb的話,使用uchar的話,就有256^3的結合方法。所以要用到顏色縮減的方法,就是利用在每個畫素值裡抽選一部分畫素值,而不是選擇全部畫素值。利用的公式是inew=(iold/10)*10來計算。

總結來看:就是對影象矩陣遍歷每乙個畫素,然後對畫素值進行公式運算。

2、lut函式:look up table操作,就是對於畫素影象進行批量查詢、掃瞄與操作影象。計時函式:gettickcount()和gettickfrequency()函式。

3、訪問影象中畫素的三類方法,參照opencv藍皮書的111頁,(colorreduce()函式的三種寫法:(這個是用來減少顏色空間的函式)

//

這種做法是第一種做法用指標來做。

void colorreauce(mat& inputimage, mat& outputimage, int

div)}}

第一種是用指標的方法訪問元素;

第二種做法是用迭代器來處理畫素;類似與stl庫中的迭代器;

第三種做法是用動態位址來計算,就是將藍色、紅色和綠色來進行分別測量;(image.at(j, i)[channe]=value;tips:注意這個通道的順序是bgr,不是rgb)

4、roi區域影象疊加&影象混合

定義這個區域有兩種方法:(1)使用矩形區域rect(2)指定感興趣行或列的範圍(range)range是指從起始索引到終止索引,

(1)mat imageroi;

mat imageroi = image(rect(500,250,logo.cols,logo.rows));//這個是定義roi區域的

(2)imageroi = image(range(250,250+logoimage.rows),range(200,200+logoiamge.cols));

5、addweighted()函式 (計算陣列加權和)double alpha、double beta和 double gamma這個分別代表陣列的權重。參照roi藍皮書的118頁的**;

(tips:兩幅一定要同樣的型別和尺寸,因為我們做的是兩張的加權,兩張不相同不能運算)

6、初級影象混合:addweighted函式,參照前面的**(

addweighted的矩陣表示式是:dst = src1[i]*alpha+ src2[i]*beta + gamma;

7、分離顏色通道、多通道影象混合;通過split和merge方法來進行。

(1)通道分離:split()函式,是乙個多通道陣列分離幾個單通道陣列;

split函式:void split(const mat& src, mat *mvbegin);

void split(inputarray m, outputarrayofarrays mv);

公式:mv[c](i)=src(i)c

8、輸入xml和yaml檔案

xml和yaml檔案是用來做資料的儲存和傳輸用的,我們訓練玩的特徵點資料是儲存在這裡的。

9、閾值化

固定閾值操作:threshold函式

函式threshold()對單通道陣列應用固定閾值操作,典型對於灰度影象進行閾值操作得到二值影象,compare()函式可以達到目的;

自適應閾值操作:adaptivethreshold()函式;

void adaptivethreshold(inputarray src, outputarray dst, double maxvalue, int adaptivemethod, int thresholtype, int blocksize, double c)

第二個引數,outputarray型別的dst,這個型別和尺寸和源影象相同;

10、rotatedrect()函式

rotatedrect該類表示平面上的旋轉矩形,有三個屬性:

矩形中心點(質心)

邊長(長和寬)

3.旋轉角度

React元件通訊 高階元件

子父元件通訊 非父子元件通訊 跨元件通訊 在react沒有類似vue中的事件匯流排來解決這個問題,我們只能借助它們共同的父級元件來實現,將非父子關係裝換成多維度的父子關係。react提供了contextapi來實現跨元件通訊,react 16.3之後的contextapi較之前的好用。使用流程 im...

高階元件 高階函式 一

antd裡面的form表單方面,遇到乙個高階函式,以及高階元件,於是看了一下這方面內容,前輩們的文章寫得也非常詳細,這裡就稍微kobe一下 高階函式與高階元件 高階函式 高階函式,是一種特別的函式,接受的引數為函式,返回值也是函式 成立條件,二者兼一即可 1 一類特別的函式 a 接受函式型別的引數 ...

React高階元件

想想以前用原生和jquery的專案,上千行的code映入眼簾,瞬間有種昏死過去的衝動。難以維護,改乙個bug可能出現n個bug,真的是很痛苦。於是乎元件化成為了當前前端開發的主流技術。angular vue和react很好的幫我們實現了元件化。但是我們常常也會遇到一種情況,就是兩個元件往往有很多的重...