La netteté de l'image est une technique de traitement d'image couramment utilisée qui peut rendre les images plus claires et plus détaillées. En Python, nous pouvons utiliser certaines bibliothèques de traitement d'image courantes pour implémenter des fonctions de netteté d'image. Cet article explique comment utiliser la bibliothèque Pillow, la bibliothèque OpenCV et la bibliothèque Scikit-Image en Python pour la netteté des images.
La bibliothèque Pillow est une bibliothèque de traitement d'image couramment utilisée en Python, qui fournit une version améliorée de PIL (Python Image Library). La bibliothèque Pillow peut être utilisée pour lire et traiter différents types d'images, telles que JPG, PNG, BMP, etc. Les étapes pour utiliser la bibliothèque Pillow pour la netteté de l'image sont les suivantes :
1) Installez la bibliothèque Pillow
Entrez la commande suivante sur la ligne de commande pour installer la bibliothèque Pillow :
pip install Pillow
2) Lisez l'image
Utilisez le Module Image de la bibliothèque Pillow pour lire l'image. Par exemple, on peut lire une image nommée "test.jpg" :
from PIL import Image image = Image.open('test.jpg')
3) Améliorer la netteté de l'image
Utilisez le module Filtre de la bibliothèque Pillow pour effectuer des opérations de netteté. Vous pouvez utiliser des filtres tels que le flou, l'amélioration des contours et l'amélioration de la netteté. Ici, nous utilisons le filtre UnsharpMask pour améliorer la netteté de l'image :
from PIL import ImageFilter sharpened_image = image.filter(ImageFilter.UnsharpMask(radius=2, percent=150, threshold=3))
Dans le code ci-dessus, le paramètre radius spécifie le rayon de flou, le paramètre percent spécifie le pourcentage de netteté et le paramètre seuil spécifie le seuil de netteté.
4) Enregistrez le résultat
Enfin, utilisez la méthode save() pour enregistrer le résultat sous forme d'une nouvelle image :
sharpened_image.save('sharpened_test.jpg')
La bibliothèque OpenCV est une bibliothèque de vision par ordinateur open source disponible pour diverses tâches de traitement d’image. Les étapes pour utiliser la bibliothèque OpenCV pour la netteté de l'image sont les suivantes :
1) Installez la bibliothèque OpenCV
Entrez la commande suivante sur la ligne de commande pour installer la bibliothèque OpenCV :
pip install opencv-python
2) Lisez l'image
Utilisez le Fonction imread() de la bibliothèque OpenCV pour lire Prendre des photos. Par exemple, on peut lire une image nommée "test.jpg" :
import cv2 image = cv2.imread('test.jpg')
3) Améliorer la netteté de l'image
Utilisez la fonction Laplacienne de la bibliothèque OpenCV pour améliorer la netteté de l'image. Le code est le suivant :
import cv2 kernel_size = 3 scale = 1 delta = 0 ddepth = cv2.CV_16S gray = cv2.cvtColor(image, cv2.COLOR_BGR2GRAY) gray = cv2.GaussianBlur(gray, (3, 3), 0) dst = cv2.Laplacian(gray, ddepth, ksize=kernel_size, scale=scale, delta=delta) absdst = cv2.convertScaleAbs(dst)
Dans le code ci-dessus, le paramètre kernel_size spécifie la taille de l'opérateur, le paramètre scale spécifie le facteur de mise à l'échelle, le paramètre delta spécifie le décalage et le paramètre ddegree spécifie la profondeur de sortie.
4) Enregistrez le résultat
Enfin, utilisez la fonction imwrite() pour enregistrer le résultat sous forme d'une nouvelle image :
cv2.imwrite('sharpened_test.jpg', absdst)
La bibliothèque Scikit-Image est un Python Bibliothèque de traitement d'image qui fournit divers algorithmes de traitement d'image. Les étapes pour utiliser la bibliothèque Scikit-Image pour la netteté de l'image sont les suivantes :
1) Installez la bibliothèque Scikit-Image
Entrez la commande suivante dans la ligne de commande pour installer la bibliothèque Scikit-Image :
pip install scikit-image
2) Lire l'image
Utilisez Scikit- Le module io de la bibliothèque d'images lit les images. Par exemple, on peut lire une image nommée "test.jpg" :
from skimage import io image = io.imread('test.jpg')
3) Améliorer la netteté de l'image
Utilisez le module de transformation de la bibliothèque Scikit-Image pour effectuer l'opération de netteté. Ici, nous utilisons la fonction unsharp_mask() pour améliorer la netteté de l'image :
from skimage import filters sharpened_image = filters.unsharp_mask(image, radius=2, amount=1.5, multichannel=True)
Dans le code ci-dessus, le paramètre radius spécifie la taille du noyau de convolution, le paramètre montant spécifie le degré de netteté et le paramètre multicanal spécifie si c'est une image en couleur.
4) Enregistrez le résultat
Enfin, utilisez la fonction imsave() du module io pour enregistrer le résultat sous une nouvelle image :
io.imsave('sharpened_test.jpg', sharpened_image)
Conclusion
Cet article présente l'utilisation de la bibliothèque Pillow, de la bibliothèque OpenCV et de Scikit -Méthode Image dans la bibliothèque Python pour la netteté de l'image. Ces bibliothèques fournissent divers algorithmes et fonctions pour traiter les images, que nous pouvons choisir d'utiliser en fonction de nos besoins. La netteté de l’image est une partie importante du traitement de l’image. Elle peut améliorer la qualité et la clarté des images et offre de larges perspectives d’application dans des applications pratiques.
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!