Image1 包含帶有殘差的矩形
和 Image2 代表所需的結果。
我想在Python中使用Image1來獲得與Image2相同的結果,但我不確定是否可能,也不知道必要的方法。
我嘗試使用圖像的透明度來刪除它,但我不確定這是否可能。
您的「殘差」影像的飽和度低於「核心」影像,因此您可以將「殘差」與「核心」,請參考維基百科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)
如果我將影像分成h、s 和v 分量,並將h(色調)繪製在左側,s(飽和度)繪製在中間,v(值,即亮度)繪製在右側,您可以在中心s(飽和度)影像,「核心」 形狀的像素值較高,「殘差」 的像素值較低:
以上是如何使用 Python 去除影像中的殘差的詳細內容。更多資訊請關注PHP中文網其他相關文章!