Nous savons qu`OpenCV est largement utilisé pour travailler avec des images et dispose d`un large éventail de fonctions pour cela. Mais que se passe-t-il si nous voulons traiter des fichiers image sans utiliser de bibliothèque externe comme OpenCV. Voyons comment nous pouvons faire cela.
Mise à l`échelle de l`image (en utilisant l`interpolation du voisin le plus proche) :
Interpolation du voisin le plus proche — ; c`est le moyen le plus simple d`interpoler. Cette méthode détermine simplement le pixel voisin "le plus proche" et prend une valeur pour son intensité.
Considérez une petite image dont la largeur est w et la hauteur est — h que nous voulons changer de la largeur p à la largeur q, en supposant p > m et q > n.m. Maintenant, nous avons besoin de deux constantes de mise à l`échelle :
scale_x = p / w scale_y = q / h
Maintenant, nous parcourons simplement tous les pixels de l`image de sortie, en nous référant aux pixels d`origine que nous avons copiez à partir de. mettre à l`échelle nos variables de contrôle avec scale_x et scale_y, et arrondir les valeurs d`index mises à l`échelle résultantes.
Représentation visuelle :
L`image fait 3X3 pixels (9 pixels au total), maintenant si nous voulons augmenter la taille de l`image à 6X6, alors selon l`algorithme le plus proche voisin 6/3 (soit 2) pixels devraient avoir la même valeur RVB que la valeur pixel à l`image d`origine.
Programme de redimensionnement d`image :
Sortie : Échelle de gris de l`image :En utilisant la moyenne méthode de valeur, cette méthode met l`accent sur l`intensité d`un pixel, plutôt que de montrer de quelles valeurs RVB il est composé. Lorsque nous calculons la valeur RVB moyenne et lui attribuons la valeur RVB pour un pixel, puisque la valeur RVB du pixel est la même, il ne pourra créer aucune couleur, car toutes les couleurs sont générées en raison d`un rapport différent de RVB valeurs, puisque dans ce cas le rapport serait de 1 : 1 : 1. Par conséquent, l`image rendue ressemblera à une image grise. Représentation visuelle : ![]() Programme d`image en niveaux de gris :
|
Sortie :
Recadrer une image :
Le recadrage supprime essentiellement pixel indésirable. Cela peut être fait en plaçant le pixel requis dans une autre grille d`images, dont la taille correspond à celle requise après le recadrage.
Considérez une image d`une taille de 10 √ó 10 pixels, et si nous voulons seulement recadrer le centre d`une image avec une taille de 4 √ó 4 pixels, alors nous devons collecter des valeurs de pixel ‚Äã‚Äãde (10-4) / 2, à partir de (3, 3) jusqu`à 4 pixels dans la direction x et 4 pixels dans la direction y.
Représentation visuelle :
Recadrage d`image :
# utiliser matplotlib et numpy
importer
matplotlib.image comme img
import
numpy as npy
# lire l`image dans la variable m
m
=
img.imread (
"taj.png"
)
# définition de la taille de l`image largeur (l) hauteur (h)
l, h
=
m.forme [:
2
]
# taille d`image requise après recadrage
xNew
=
int
(w
*
1
/
4
)
yNouveau
=
int
(h
*
1
/
4
)
newImage
=
npy.zeros ([xNouveau, yNouveau,
4
])
# largeur d`impression hauteur de l`image source
print
(w)
print
(h)
pour
i
dans
plage
(
1
, xNew) :
for
j
in
range
(
1
, yNew) :
# recadrer de 100 à 100 pixels de l`image d`origine
newImage [i, j]
=
m [
100
+
i,
100
+
j]
# enregistrer l`image
img.imsave (
`cropped.png`
, newImage)
Sortie :