Utilisez OpenCV et Python par programme pour éliminer les débris et les rayures des photos numérisées et supprimer les objets indésirables des images fixes et des vidéos.
Cette fois, je vais effacer le fil électrique.
** ◎ Image d'entrée **
** ◎ Masque **
** ◎ Résultat **
cv2.inpaint
inpaint(src, inpaintMask, inpaintRadius, flags[, dst]) -> dst
Un masque est appliqué à l'image d'entrée et la partie de masque est interpolée vers l'intérieur en fonction de l'image autour de la limite du masque.
inpaint.py
# -*- coding: utf-8 -*-
import cv2
#Image originale
img = cv2.imread('img.jpg')
#masque
mask = cv2.imread('mask.png',0)
#Correction d'image
dst = cv2.inpaint(img, mask, 3, cv2.INPAINT_TELEA)
#dst = cv2.inpaint(img, mask, 3, cv2.INPAINT_NS)
#afficher
cv2.imshow('dst',dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
#sauvegarder
cv2.imwrite('result.jpg', dst)
OpenCV : 3.1.0 Python : 3.5.2
Veuillez vous référer ici pour créer un environnement OpenCV et Python. (Lien)
Étant donné que les pixels du masque sont interpolés à partir des pixels autour du masque, cela fonctionne bien si l'image a une sensation relativement plate autour du masque. Au contraire, si les environnements sont des motifs compliqués, cela ne fonctionnera pas. Si le masque ne masque pas complètement la partie que vous souhaitez effacer, du bruit apparaîtra. De plus, s'il y avait un problème avec la forme du masque, la partie du masque pourrait ressembler à une épée.
Des opérations d'image similaires sont possibles avec PhotoShop, mais vous devrez le faire manuellement. Avec OpenCV, vous pouvez le faire par programmation, vous pouvez donc l'appliquer aux vidéos. Pour la protection de la vie privée, il semble que vous puissiez l'utiliser pour extraire automatiquement les personnes de la vidéo et compléter automatiquement cette partie avec cette méthode.