一、指定区域置1
-
在OpenCV中,如果你想将图像中的一个指定区域置为1(即白色),可以使用cv2.floodFill函数。
这个函数可以填充一个连通区域,并且可以指定填充的颜色和一些其他条件。 -
start_point是填充开始的点,
fill_value是新颜色的值,这里设置为255(白色)。
loDiff和upDiff是颜色差的阈值,这些阈值决定了哪些颜色被认为是连通的。
flags参数控制着填充的行为,例如是否填充边界,是否使用四邻连接或八邻连接等。
二、程序
import cv2
import numpy as np
# 读取图像
image = cv2.imread('image.png')
# 定义起始点的位置
start_point = (x, y) # 替换为起始点的坐标
# 设置填充颜色和填充的最大/最小阈值
fill_value = 255 # 白色
max_value = 255
# 创建mask,并将所有值初始化为0
mask = np.zeros(image.shape[:2], np.uint8)
# 使用floodFill填充
cv2.floodFill(image, mask, start_point, fill_value, (loDiff, loDiff, loDiff), (upDiff, upDiff, upDiff), flags=4|(256<<8)|cv2.FLOODFILL_FIXED_RANGE)
# 展示图像
cv2.imshow('Flood Filled Image', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
© 版权声明
文章版权归作者所有,未经允许请勿转载。
相关文章
暂无评论...