Maison > développement back-end > Tutoriel Python > Explication détaillée de l'implémentation Python du traitement des masques d'images

Explication détaillée de l'implémentation Python du traitement des masques d'images

coldplay.xixi
Libérer: 2020-09-14 13:13:15
avant
4736 Les gens l'ont consulté

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 :

Explication détaillée de limplémentation Python du traitement des masques dimages
Explication détaillée de limplémentation Python du traitement des masques dimages
Explication détaillée de limplémentation Python du traitement des masques dimages

Implémentation Python Masquer l'image

  • Importer les bibliothèques requises
  • Créer l'image du masque
    • Masque carré
    • Masque circulaire
  • Coudre le masque avec l'image originale
  • Afficher l'image
  • Affichage de l'effet
  • Résumé

Importez les bibliothèques requises

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复制代码
Copier après la connexion

Créer une image de masque

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.

Masque carré

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复制代码
Copier après la connexion

Masque circulaire

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)复制代码
Copier après la connexion

Masque et épissage d'image original

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)复制代码
Copier après la connexion

Afficher l'image

# 展示原图
cv2.imshow("img", img)
# 展示掩膜图片
cv2.imshow("mask", mask)
# 展示添加掩膜效果图片
cv2.imshow("image", image)复制代码
Copier après la connexion

Affichage de l'effet

Image originale :

Explication détaillée de limplémentation Python du traitement des masques dimages

Image du masque carré :

Explication détaillée de limplémentation Python du traitement des masques dimages

Masque carré et image originale fusionnés :

Explication détaillée de limplémentation Python du traitement des masques dimages

Image du masque circulaire :

Explication détaillée de limplémentation Python du traitement des masques dimages

Masque circulaire Fusionner l'image avec l'image originale :

Explication détaillée de limplémentation Python du traitement des masques dimages

Résumé

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!

Étiquettes associées:
source:juejin.im
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