opencv常用函式 計算

2021-07-25 05:20:01 字數 1505 閱讀 5844

1.cv::meanstddev ( img, mean, stddev ); //求均值方差

例如:

cv::mat   img; 

scalar     mean; 

scalar     stddev;

cv::meanstddev( img, mean, stddev ); 

uchar       mean_pxl = mean.val[0]; 

uchar  stddev_pxl = stddev.val[0];

備註:

typedef

struct scalar

scalar;

例如:scalar s;

如果使用的影象是1通道的,則s.val[0]中儲存資料

如果使用的影象是3通道的,則s.val[0],s.val[1],s.val[2]中儲存資料

例如:opencv3.0

mat tmp_m, tmp_sd;

double m = 0, sd = 0; 

meanstddev(gray, tmp_m, tmp_sd); 

m = tmp_m.at(0,0);

sd = tmp_sd.at(0,0); 

備註:

meanstddev計算的均值和標準差都以mat形式返回,這裡返回的是1x1的矩陣。所以訪問結果,要訪問mat的元素。

2.voidminmaxloc( const mat& src,  double* minval, double* maxval=0, point* minloc=0, point* maxloc=0, const mat& mask=mat() );//求最大最小值及其對應的位置

例如:

double maxval = 0; //

最大值一定要賦初值,否則執行時會報錯

point maxloc;

minmaxloc

(image, null,

&maxval, null, &maxloc);

備註:

如果不需要最小值、最大值及其對應的位置就可以直接賦值null或者0;

3.

4.

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 常用函式

自動分配的緩衝區類,該類為函式和方法分配臨時緩衝區。如果乙個臨時的緩衝區通常是小 幾k的記憶體 但其大小取決於引數,在堆中建立乙個小的固定大小的陣列是有意義的。在opencv的core.hpp裡面有autobuffer 函式,該函式為自動分配一段指定大小的記憶體,並且可以指定記憶體中資料的型別。cv...