就像我将原始输入转换为 HSV 颜色空间图像并应用 INRANGE 函数并找到绿线和蓝线一样,现在我想摆脱它们,我希望图像看起来像输出......如何我现在应该去掉线条并用背景颜色替换它们吗??
代码片段:
import cv2 as cv
import numpy as np
img= cv.imread('C:\input.png',1)
hsv=cv.cvtColor(img,cv.COLOR_BGR2HSV)
lower_green = np.array([30,70,20])
upper_green = np.array([70,255,255])
lower_blue = np.array([95, 110, 20])
upper_blue = np.array([135, 255, 255])
mask = cv.inRange(hsv, lower_green , upper_blue)
res = cv.bitwise_and(img,img, mask= mask)
cv.imwrite("out2.jpg", res)
最佳答案
这是一个快速而肮脏的解决方案。
- 根据包含线条(掩码 1)的手动阈值图像创建掩码
- 同时创建此蒙版(蒙版 2)的二进制倒置图像
- 用蒙版 1 蒙版衬衫的图像
- 使用 mask 2 修复上面的图像
解决方案肯定可以通过对掩码执行形态学操作来移除线条来改进。也分享你的想法
关于python-3.x - 摆脱 OpenCV-Python 中的线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50225500/