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很好的幫我們實現了元件化。但是我們常常也會遇到一種情況,就是兩個元件往往有很多的重...