Maison > développement back-end > Tutoriel Python > Comment supprimer les résidus des images à l'aide de Python

Comment supprimer les résidus des images à l'aide de Python

王林
Libérer: 2024-02-06 08:30:12
avant
887 Les gens l'ont consulté

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

Contenu de la question

L'image1 contient un rectangle avec des résidus

et Image2 représentent le résultat souhaité.

Je souhaite obtenir le même résultat qu'Image2 en utilisant Image1 en Python, mais je ne sais pas si c'est possible ni la méthode nécessaire.

J'ai essayé d'utiliser la transparence de l'image pour la supprimer mais je ne sais pas si cela est possible.


Bonne réponse


Votre "résiduel"image est moins saturée que l'image "noyau", vous pouvez donc comparer "résiduel" avec "noyau", voir l'article wiki Encyclopedia hsv .

En utilisant imagemagick, je peux convertir votre image en espace colorimétrique HSV, supprimer le canal hv, puis seuiller le canal de saturation pour trouver les zones les plus saturées, comme ceci :

magick input.png -colorspace hsv -separate -delete 0,2 -threshold 75% rssult.png
Copier après la connexion

En utilisant python et opencv, cela ressemble à ceci :

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)
Copier après la connexion

Si je divise l'image en composants h, s et v et que je trace h (teinte) à gauche, s (saturation) au milieu et v (valeur, c'est-à-dire luminosité) à droite, vous pouvez obtenir le s au centre Image (Saturation), la forme "noyau" a des valeurs de pixels plus élevées, "résiduel" a des valeurs de pixels plus faibles :

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal