发布于2021-07-25 07:34 阅读(960) 评论(0) 点赞(5) 收藏(3)
直接上效果图
可以通过命令行输入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://blog.csdn.net/qq_34904125/article/details/119024061
作者:你做的菜有点咸
链接:http://www.pythonpdf.com/blog/article/460/c363091870d642bb1516/
来源:编程知识网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!