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...