python-3.x - 摆脱 OpenCV-Python 中的线条

标签 python-3.x opencv image-processing computer-vision opencv3.1

INPUT

TARGET OUTPUT

MY WORK

就像我将原始输入转换为 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. 根据包含线条(掩码 1)的手动阈值图像创建掩码

enter image description here

  1. 同时创建此蒙版(蒙版 2)的二进制倒置图像

enter image description here

  1. 用蒙版 1 蒙版衬衫的图像

enter image description here

  1. 使用 mask 2 修复上面的图像

enter image description here

解决方案肯定可以通过对掩码执行形态学操作来移除线条来改进。也分享你的想法

关于python-3.x - 摆脱 OpenCV-Python 中的线条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50225500/

相关文章:

c# - WPF API 能否在 WCF 服务中安全使用?

python - 如何检测由较小轮廓组成的较大轮廓?

python-3.x - 如何只保留 pdf 文本或图像的注释部分?

Python 3.x _tkinter.TclError : bad window path name ".!toplevel"

python - 如何获取 LaTeX 文件中的所有 `\begin{definition}...\end{definition}` block ?

c - 如何从相机中抓取多个帧?

opencv - opencv中的SVD类,向量<point3f>作为输入

image - 将 tiff 转换为模式 1 位图

用下划线排序

python-3.x - 在 TensorFlow 中使用多个 GPU 来推断 pb 模型