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

2024年 2月 6日 38.3k 0

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

问题内容

Image1 包含带有残差的矩形

和 Image2 代表所需的结果。

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

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

正确答案

您的“残差”图像的饱和度低于“核心”图像,因此您可以将“残差”与“核心”,请参阅维基百科 hsv 文章。

使用 imagemagick,我可以将您的图像转换为 hsv 色彩空间,丢弃 hv 通道,然后对饱和度通道进行阈值设置以找到最饱和的区域,如下所示:

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)

登录后复制

如果我将图像分成 h、s 和 v 分量,并将 h(色调)绘制在左侧,s(饱和度)绘制在中间,v(值,即亮度)绘制在右侧,您可以在中心 s(饱和度)图像,“核心” 形状的像素值较高,“残差” 的像素值较低:

以上就是如何使用 Python 去除图像中的残差的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论