如何使用Python去除图像中的残差

问题描述 投票:0回答:1

Image1 包含带有残差的矩形 Image1

Image2 代表期望的结果。 Image2

我想在Python中使用Image1获得与Image2相同的结果,但我不确定是否可能,也不知道必要的方法。

我尝试使用图像的透明度来删除它,但我不确定这是否可能。

python image-processing
1个回答
0
投票

您的 “残差” 图像的饱和度低于 “核心” 图像,因此您可以在 HSV 色彩空间中将 “残差”“核心” 分开,请参阅 维基百科 HSV 文章

使用 ImageMagick,我可以将您的图像转换为 HSV 色彩空间,丢弃

H
V
通道,然后对饱和度通道进行阈值设置以找到最饱和的区域,如下所示:

magick INPUT.PNG -colorspace HSV -separate -delete 0,2 -threshold 75% rssult.png


使用 Python 和 OpenCV,大致如下所示:

import cv2 as cv
import numpy as np

# Load image
im = cv.imread(YOURIMAGE)

# Convert to HSV colourspace and split channels
hsv = cv.cvtColor(im, cv.COLOR_BGR2HSV)
H, S, V = cv.split(hsv)

# Make mask of areas of high saturation 
coreMask = S > 200

# Scale up from range 0..1 to range 0..255 and save as PNG
cv.imwrite('result.png', coreMask * 255)
© www.soinside.com 2019 - 2024. All rights reserved.