Maison > Article > développement back-end > Explication détaillée de l'implémentation Python du traitement des masques d'images
Recommandations d'apprentissage associées : Tutoriel Python
Masque d'image (masque d'image) : Utiliser images, graphiques ou objets sélectionnés pour bloquer l'image à traiter (partiellement ou complètement) afin de contrôler la zone ou le processus de traitement de l'image. Étant donné que l'image ou l'objet spécifique couvert est appelé masque, lors du traitement d'image, il y a une forte demande pour masquer l'image. Ensuite, je vais le démontrer avec l'image suivante d'un chat et d'un chien que j'ai choisi.
Premier aperçu des rendus :
Les ressources de bibliothèque requises cette fois incluent cv2
et numpy
, qui peuvent être téléchargées via pip install xxx
.
import cv2 import numpy as np复制代码
La création d'un masque dépend de la taille de l'image. Créez votre propre masque en fonction de la taille de l'image. Bien sûr, vous pouvez également choisir le masque vous-même. Les masques que j'ai créés ici sont des masques carrés et des masques circulaires.
Les coordonnées du masque sont [10:170, 50:220].
# 创建掩膜 mask = np.zeros([img.shape[0], img.shape[1]], dtype=np.uint8) mask[10:170, 50:220] = 255复制代码
Coordonnées du masque :
x = 140
y = 100
r = 80
# 创建掩膜 x = 140 y = 100 r = 80 mask = np.zeros(img.shape[:2], dtype=np.uint8) mask = cv2.circle(mask, (x, y), r, (255, 255, 255), -1)复制代码
La fusion d'images utilise cv2.add pour épisser et fusionner le masque avec l'image d'origine.
image = cv2.add(img, np.zeros(np.shape(img), dtype=np.uint8), mask=mask)复制代码
# 展示原图 cv2.imshow("img", img) # 展示掩膜图片 cv2.imshow("mask", mask) # 展示添加掩膜效果图片 cv2.imshow("image", image)复制代码
Image originale :
Image du masque carré :
Masque carré et image originale fusionnés :
Image du masque circulaire :
Masque circulaire Fusionner l'image avec l'image originale :
Le principe du masque d'occlusion est très simple. Tout d'abord, créez une image complètement noire de la même taille que l'image. puis changez les pixels de la zone qui doit être affichée en blanc, et enfin utilisez cv2.add pour superposer l'image et le masque afin d'obtenir un affichage d'occlusion de l'image.
Si vous souhaitez en savoir plus sur la programmation, faites attention à la rubrique Formation php !
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!