OpenCV學習筆記5

2021-10-22 10:20:39 字數 1711 閱讀 3739

copyimg = image.copy(

)

int floodfill(inputoutputarray image, inputoutputarray mask, point seedpoint,scalar newval, rect* rect=

0, scalar lodiff=scalar(

), scalar updiff=scalar(),

int flags=

4)

cv.floodfill(copyimg, mask,(30

,30),

(0,255

,255),

(100

,100

,100),

(50,50

,50), cv.floodfill_fixed_range)

floodfill_fixed_range - 如果設定為這個識別符號的話,就會考慮當前畫素與種子畫素之間的差,否則就考慮當前畫素與其相鄰畫素的差。也就是說,這個範圍是浮動的。

floodfill_mask_only - 如果設定為這個識別符號的話,函式不會去填充改變原始影象 (也就是忽略第三個引數newval), 而是去填充掩模影象(mask)。

以下是兩種填充用法

def

fill_color_demo

(image)

: copyimg = image.copy(

) h, w = image.shape[:2

] mask = np.zeros(

[h+2

, w+2]

, np.uint8)

cv.floodfill(copyimg, mask,(30

,30),

(0,255

,255),

(100

,100

,100),

(50,50

,50), cv.floodfill_fixed_range)

cv.imshow(

"fill_color_demo"

, copyimg)

def

fill_binary()

: image = np.zeros(

[400

,400,3

], np.uint8)

image[

100:

300,

100:

300,:]

=255

cv.imshow(

"fill_binary"

, image)

mask = np.ones(

[402

,402,1

], np.uint8)

#這裡mask填充的是1

mask[

101:

301,

101:

301]=0

cv.floodfill(image, mask,

(200

,200),

(100,2

,255

), cv.floodfill_mask_only)

cv.imshow(

"filled binary"

, image)

OPENCV 5 學習筆記

opencv 5 學習筆記 線性濾波 關於濾波和模糊 濾波可分低通濾波和高通濾波兩種。而高斯濾波是指用高斯函式作為濾波函式的濾波操作,至於是不是模糊,要看是高斯低通還是高斯高通,低通就是模糊,高通就是銳化。高斯濾波是一種線性平滑濾波,適用於消除高斯雜訊,廣泛應用於影象處理的減噪過程。載入原圖 mat...

OpenCV學習筆記 5 顏色空間轉換

1.轉換顏色空間 opencv中有超過150種進行顏色空間轉化的方法,但是實際上經常用到的也就兩種 bgr gray,bgr hsv 要用的函式是cv2.cvtcolor input img,flag flag就是轉換型別 cv2.color bgr2gray 就是bgr gray轉換 cv2.co...

OpenCV學習記錄5

一 學習內容 1 兩張影象按權重相加 2 兩張影象相乘 應該可用於頻域濾波吧 二 include include using namespace std using namespace cv int main int argc,char ar if src2.data namedwindow fig...