opencv中一些功能函式

2021-07-15 07:01:58 字數 2824 閱讀 9552

int floodfill(inputoutputarray image, point seedpoint, scalar newval, rect *rc = 0, scalar lodiff = scalar(), scalar updiff = scalar(), int flags = 4)

int floodfill(inputoutputarray image, inputoutputarray mask, point seedpoint, scalar newval, rect *rc = 0, scalar lodiff = scalar(), scalar updiff = scalar(), int flags = 4)

floodfill 功能類似ps裡的魔棒工具,就是把顏色相近的區域填充成指定顏色

第二個版本比第乙個版本的多了個掩模引數,在第二個引數位置,可以說是第乙個版本的強化版

下面只說第二個版本

引數:1  待處理影象

2  掩模,這個掩模應符合如下要求,也可以不用這個引數,直接使用版本一

8位單通道

長寬均比原始影象大2

用零初始化

注意,原始影象畫素的座標若為(x,y),在掩模中因為(x+1, y+1)

3  scalar型別,顏色,選擇區域填充的顏色

4  point型別,種子畫素,選擇的區域圍繞這個點展開

5  rect型別,選擇的區域只能在這個範圍內,預設全圖

6  scalar 型別,差別的下限,也就是最多能低多少

7  scalar 型別,差別的上限,也就是最多能高多少

8  int型別,是個標誌

低8位,4或8,預設4,用於控制連通性,為4表示演算法只考慮當前畫素的上下左右四個方向,為8表示演算法考慮當前畫素周圍的全部8個畫素

高16位,可以設定兩個功能

floodfill_fixed_range   在16位,如果設定了這個功能,表示演算法考慮當前畫素和種子畫素之差,否則考慮當前畫素與周圍畫素之差

floodfill_mask_only        在17位,如果設定了這個功能,表示演算法只填充掩模,不改變原圖,這個標誌只對第二個版本有效

中間8位,表示填充掩模的顏色,全0時自動用全1代替

void  resize(inputarray src, outputarray dst, size dsize, double fx = 0, double fy = 0, int interpolation = inter_linear)

用於縮放影象

1 源影象

2 輸出影象

3 縮放後尺寸,如果為0,會通過4,5自動計算

4 寬度縮放倍數,如果為0,會通過3自動計算

5 高度縮放倍數,如果為0,會通過3自動計算

6 插值方式,有預設值,可選方式

inter_nearest        = 0,

inter_linear         = 1,

inter_cubic          = 2,

inter_area           = 3,

inter_lanczos4       = 4

沒仔細研究過,預設是inter_linear(線性),放大影象用inter_linear(推薦)或

inter_cubic,縮小用inter_area

void pyrup

void pyrdown

void threshold

void adaptivethreshold

#include #include #include using namespace cv;

mat ma1;

mat ma2;

mat ma3;

mat ma4;

mat ma5;

int thresh=0;

int blocksize = 0;

int type = 1;

int adatype = 1;

int c = 0;

void fill(int event, int x, int y, int flags, void *param)

imshow("im2", ma1);

inter_linear;

}void on_adaadj(int, void *)

imshow("im5", ma5);

}void on_adac(int, void *)

imshow("im5", ma5);

}void on_adj(int, void*)

imshow("im4", ma4);

}int main()

break;

case 'd':

break;

case 'f':

if (ma2.cols / 2 != 0)

break;

case 'g':

break;

case 'r':

printf("reset\n");

ma2 = imread("2.png");

imshow("im changing", ma2);

imshow("im changing1", ma2);

break;

case '1':

case '2':

adatype = com - '0';

case '3':

case '4':

case '5':

type = com - '0';

break;

} }return 0;

}

OpenCV一些函式

1.線性混合操作 beta 1.0 alpha addweighted src1 alpha src2 beta 0.0 dst 這是因為 addweighted 進行如下計算 這裡2.掩碼操作 濾波器在影象處理中的應用太廣泛了,因此opencv也有個用到了濾波器掩碼 某些場合也稱作核 的函式。不過...

IBM QISKit 中一些有用的功能

以下幾種函式都針對的是qiskit 0.7版本。1.circuit.depth 用你的量子電路的名字代替 circuit 就可以測出量子電路的深度。非常簡單好用。2.job monitor 當我們在ibm的量子晶元上執行量子演算法的時候,乙個很大的問題是我們在等待結果時,不知道現在是還在排隊等待使用...

tensorflow中一些重要函式

請參考這裡 tf.nn.conv2d input,filter,strides,padding,use cudnn on gpu none,name none 除去name引數用以指定該操作的name,與方法有關的一共五個引數 第乙個引數input 指需要做卷積的輸入影象,它要求是乙個tensor,...