OpenCV 常用函式

2021-08-27 04:06:44 字數 1715 閱讀 9355

自動分配的緩衝區類,該類為函式和方法分配臨時緩衝區。如果乙個臨時的緩衝區通常是小(幾k的記憶體),但其大小取決於引數,在堆中建立乙個小的固定大小的陣列是有意義的。

在opencv的core.hpp裡面有autobuffer<>()函式,該函式為自動分配一段指定大小的記憶體,並且可以指定記憶體中資料的型別。

cv:

:autobuffer, 1000> buf; // 建立乙個包含1000 float自動緩衝區

cv::autobuffer dbuf(1000);// 建立乙個包含1000 float自動緩衝區

void icvhoughsortdescent32s(int *sequence , int sum , int*data),引數解釋:

第二個引數:要排序的資料總數目

第乙個引數:此陣列存放data中要參與排序的資料的序號

舉個例子,我們有乙個大陣列data,有1000個int型資料,在實際應用中有sum=100個我們要取出來並進行排序,到底是哪100個數呢,我們把這些資料在data中的序號存放在sequence陣列中,即這100個數為data[sequence[0]]~ data[sequence[99]],這樣我們呼叫函式的形式為:

icvhoughsortdescent32s(sequence , sum , data) ;

結果,本函式按照這100個數的大小進行降序排列,並將降序排列後的資料對應的在data中的序號賦給sequence陣列,這樣,這100個數的降序排列為data[sequence[0]]~ data[sequence[99]],注意這裡sequence陣列中資料已經進行了重新排序。而且這個排序演算法改變的只是sequence陣列中的元素,源資料data未發生絲毫改變。

cvgettickcount()

返回64位長整數的時間資料,在opencv是為cvrng設定的專用種子。

cvgettickfrequency()

返回系統時鐘頻率

cvrng()

跟一般的c語言srand()使用方法一樣,要先給它乙個種子,但srand()用到的是unsigned int的32位種子範圍,而cvrng()用的是64位長整數種子。初始化cvrng資料結構,假如seed給0,它將會自動轉成-1。

cvrng(64位種子)

cvrandint()

返回均勻分布32位的隨機數,均勻分布為統計學上的專有名詞,表示長時間下所有數字出現的概率都是一樣的,而cvrandint()在opencv裡使用的公式:

temp = (uint64)(unsigned)temp*1554115554 + (temp >> 32);

這個公式的名稱叫multiply-with-carry (mwc) generator,有興趣的話可以在網路上找「隨機數產生器」,multiply-with-carry是將64位的種子去產生32位的隨機數。

unsigned cvrandint(cvrng資料結構)

cvrandreal()

返回均勻分布,0~1之間的隨機小數,cvrandreal()的公式則是用

cvrandint(rng)*2.3283064365386962890625e-10

的方法,其實就是cvrandint(rng)*2^(-32),也就是將cvrandint()隨機出來的結果(32位除以2的三十二次方,因此,出現的結果將會是0~1之間的小數,也就是隨機0~1之間。

double cvrandreal(cvrng資料結構)

OpenCV常用函式

直接訪問 效率高,但容易出錯 用指標直接訪問 在某些情況下簡單高效 image void operator iplimage img inline t operator const int rowindx typedef struct rgbpixel typedef struct rgbpixel...

opencv常用函式

mat matsrc psrcimg,false 注意 當將引數copydata設為true後,則為深拷貝 複製整個影象資料 iplimage mat iplimage srcimg matsrc 此方法為淺拷貝此方法會額外的建立乙個影象記憶體備份,而非引用。matimg matsrc.clone ...

OPENCV常用函式

cv line mat img,point pt1,point pt2,const scalar color,int thickness 1,int linetype 8,int shift 0 opencv提供了line 函式來繪製直線,引數如下 img 要繪製線段的影象 pt1 線段的起點 pt...