直接上效果圖

可以通過命令列輸入x,y的坐標,即可填充,
代碼如下:
import cv2 as cv
import numpy as np
def fill_color_demo(image,x,y): # 定義一鍵填充顏色的函式
Img2 = image.copy() # 對輸入的圖片進行復制
h, w = image.shape[:2] # 獲得圖片的長寬
mask = np.zeros([h + 2, w + 2], np.uint8) # mask必須行和列都加2,且必須為uint8單通道陣列,填充邊緣需要多2個像素,否則會報錯
cv.floodFill(Img2, mask, (x, y), (127, 127, 127), (100, 100, 100), (50, 50, 50), cv.FLOODFILL_FIXED_RANGE)
# cv.floodFill,引數1,:表示輸入圖片,引數2:表示單通道的掩碼,引數3:表示泛洪演算法的起始點,引數4表示填充的顏色,引數5,6表示當前觀察像素點與鄰域像素點最大正負差值
# x坐標是從左到右,y坐標是從上到下
cv.imshow("result", Img2) # 顯示結果圖片
while True:
print('請輸入x坐標和y坐標')
number1 = input('Input x:')
number2 = input('Input y:')
try:
image = cv.imread('2.jpg')
cv.imshow('input', image)
except:
print('Open Error! Try again!')
continue
else:
r_image = fill_color_demo(image,int(number1),int(number2))
cv.waitKey(0)
記得點贊關注加收藏哦 更新不斷!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/289953.html
標籤:其他
