import cv2 as cv
import numpy as np
deffill
(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,0
,255),
(100
,100
,100),
(50,50
,50),cv.floodfill_fixed_range)
#floodfill_fixed_range 改變影象,泛洪填充
cv.imshow(
'fill'
,scr)
#兩點填充
deffill2()
:#建立乙個影象
image=np.zeros(
[400
,400,3
],np.uint8)
image[
100:
300,
100:
300,:]
=255
#mask
mask=np.ones(
[402
,402,1
],np.uint8)
mask[
101:
301,
101:
301,:]
=0cv.floodfill(image,mask,
(200
,200),
(0,0
,255
),cv.floodfill_mask_only)
#floodfill_mask_only 不改變影象,只填充遮罩層本身,忽略新的顏色值引數
)#roi 用來合併影象
sun= scr[0:
123,
230:
255]
gray=cv.cvtcolor(sun,cv.color_bgr2gray)
back=cv.cvtcolor(gray,cv.color_gray2bgr)
cv.imshow(
'sun'
,back)
cv.imshow(
'fengge'
,scr)
fill(scr)
fill2(
)cv.waitkey(
0)
# 模糊操作原理:
# 1.基於卷積
# 2.定義好每個卷積核
# 3.不同卷積核得到不同的卷積效果
# 4.模糊是卷積的一種表象
import cv2 as cv
import numpy as np
defblur_demo
(img)
:#均值模糊
dst=cv.blur(img,(5
,5))
cv.imshow(
'blur'
,dst)
defblur_demo2
(img)
:#中值模糊 可以去除椒鹽雜訊
dst2=cv.medianblur(img,5)
cv.imshow(
'blur2'
, dst2)
defcustom_blur_demo
(img)
: kernel=np.array([[
0,-1
,0],
[-1,
5,-1
],[0
,-1,
0]],np.float32)
dst3=cv.filter2d(img,-1
,kernel=kernel)
#銳化 更有立體感 橫向mask
cv.imshow(
'銳化'
:#高斯模糊
15)#高斯模糊,毛玻璃效果 (x,y),四伽馬) 只改變其中乙個
# dst=cv.gaussianblur(scr,(5,1),0)
cv.imshow(
'gussianblur'
,dst)
cv.imshow(
'bright'
,scr)
cv.waitkey(
0)
OpenCV python ROI與泛洪填充
1,roi 感興趣區 region of interest,roi 是影象的一部分,它通過在影象上選擇或使用諸如設定閾值 thresholding 或者從其他檔案 如向量 轉換獲得等方法生成。機器視覺 影象處理中,感趣區可以是從被處理的影象以方框 圓 橢圓 不規則多邊形等方式勾勒出需要處理的區域,通...
python ROI與泛洪填充
roi roi region of interest 感興趣的區域,通官numpy進行操作,指定區域 import cv2 roi region of interest 感興趣的區域,通官numpy進行操作,指定區域 img1 cv2.imread clock.png 1 roiarea img1 ...
opencv泛洪填充 遮罩層填充
匯入相關模組和包 import cv2 as cv import numpy as np 建立填充圖案 def fill binary 初始化引數,設定大小通道數量 image np.zeros 400,400,3 np.uint8 設定顏色 image 100 300,100 300,255 展示...