4 techniques de traitement d’image intéressantes avec JES
JES est un environnement de programmation qui comprend à la fois une zone de programmation et sa propre ligne de commande. Vous pouvez utiliser JES pour éditer des images, des vidéos et des sons.
Il existe de nombreuses façons de modifier une photo à l’aide de JES. Cela inclut l’ajout d’un filtre en niveaux de gris ou d’un filtre négatif. Vous pouvez également refléter l’image ou améliorer une couleur particulière.
Comment créer des images en niveaux de gris
De nombreuses applications de retouche photo faciles à utiliser vous permettent de modifier des images de différentes manières. L’un d’entre eux comprend l’ajout d’un filtre en niveaux de gris. Dans JES, vous pouvez éditer des images pour utiliser un filtre en niveaux de gris en changeant la couleur de chaque pixel pour utiliser le blanc, le gris ou le noir.
JES utilise le langage de programmation Jython, qui est très similaire à Python et suit les mêmes règles d’indentation. Si nécessaire, vous pouvez consulter certaines commandes Python utiles pour les débutants afin de vous mettre au courant.
- Créez une nouvelle fonction appelée makeGrayscalePicture() :
def makeGrayscalePicture():
- Dans la nouvelle fonction, utilisez la fonction pickAFile() pour demander à l’utilisateur de sélectionner une image. Utilisez la fonction makePicture() pour créer un objet image à partir du fichier sélectionné :
file = pickAFile()
pic = makePicture(file) - Utilisez la fonction getPixels() pour obtenir un tableau de tous les pixels à l’intérieur de l’image sélectionnée :
pixels = getPixels(pic)
- Utilisez une boucle for pour parcourir chaque pixel de l’image :
for pixel in pixels:
- À l’intérieur de la boucle for, récupérez la valeur RVB du pixel. Vous pouvez stocker les valeurs de rouge, de vert et de bleu de la couleur dans différentes variables.
r = getRed(pixel)
g = getGreen(pixel)
b = getBlue(pixel) - Calculez la valeur moyenne de chaque couleur. Vous pouvez le faire en additionnant les valeurs rouge, verte et bleue et en divisant le total par 3 :
average = (r + g + b) / 3
- Réglez toutes les valeurs de rouge, de vert et de bleu sur la même valeur. Cela rendra le pixel gris.
setRed(pixel, average)
setGreen(pixel, average)
setBlue(pixel, average) - Après la boucle for, affichez l’image :
show(pic)
- Cliquez sur le bouton Load Program , situé entre la zone de programmation et la ligne de commande.
- Exécutez la fonction à l’aide de la zone de ligne de commande :
makeGrayscalePicture()
- Utilisez l’explorateur de fichiers pour sélectionner une image. Cliquez sur Ouvrir .
- Attendez que la fonction termine le traitement de l’image. Une nouvelle fenêtre s’ouvrira pour afficher la nouvelle image en niveaux de gris.
Comment créer des images négatives
Une image négative est une image où les zones claires de la photo apparaissent assombries et les parties sombres de la photo apparaissent éclaircies. Vous pouvez créer cet effet en modifiant les valeurs de rouge, vert et bleu de chaque pixel.
- Créez une nouvelle fonction appelée makeNegativePicture() :
def makeNegativePicture():
- Dans la nouvelle fonction, utilisez la fonction pickAFile() pour demander à l’utilisateur de sélectionner une image. Utilisez la fonction makePicture() pour créer un objet image à partir du fichier sélectionné :
file = pickAFile()
pic = makePicture(file) - Utilisez la fonction getPixels() pour obtenir un tableau de tous les pixels à l’intérieur de l’image sélectionnée :
pixels = getPixels(pic)
- Utilisez une boucle for pour parcourir chaque pixel de l’image :
for pixel in pixels:
- À l’intérieur de la boucle for, obtenez les valeurs de rouge, vert et bleu pour le pixel :
r = getRed(pixel)
g = getGreen(pixel)
b = getBlue(pixel) - Pour créer l’effet négatif, obtenez la valeur opposée de la couleur sur le spectre RVB. Par exemple, si la valeur rouge est 100, la valeur opposée serait 255 – 100, soit 155.
newRed = 255 - r
newBlue = 255 - g
newGreen = 255 - b - Remplacez la couleur du pixel par les nouvelles valeurs rouge, vert et bleu :
setRed(pixel, newRed)
setBlue(pixel, newBlue)
setGreen(pixel, newGreen) - Après la boucle for, affichez l’image :
show(pic)
- Cliquez sur le bouton Load Program , situé entre la zone de programmation et la ligne de commande.
- Exécutez la fonction makeNegativePicture() depuis la ligne de commande :
makeNegativePicture()
- Utilisez l’explorateur de fichiers pour sélectionner une image. Cliquez sur Ouvrir.
- Une nouvelle fenêtre s’ouvrira pour afficher l’image négative.
Comment améliorer une couleur particulière dans une image
Vous pouvez également utiliser JES pour améliorer les couleurs spécifiques d’une image. Par exemple, vous pouvez doubler la valeur de rouge de chaque pixel pour que l’image apparaisse plus rouge.
- Créez une nouvelle fonction appelée alterReds() :
def alterReds():
- Dans la nouvelle fonction, utilisez la fonction pickAFile() pour demander à l’utilisateur de sélectionner une image. Utilisez la fonction makePicture() pour créer un objet image à partir du fichier sélectionné :
file = pickAFile()
pic = makePicture(file) - Utilisez la fonction getPixels() pour obtenir un tableau de tous les pixels à l’intérieur de l’image sélectionnée :
pixels = getPixels(pic)
- Utilisez une boucle for pour parcourir chaque pixel de l’image :
for pixel in pixels:
- À l’intérieur de la boucle for, obtenez uniquement la valeur rouge du pixel :
r = getRed(pixel)
- Doublez la valeur rouge et stockez-la dans une nouvelle variable :
enhancedRed = r*2
- Remplacez la valeur rouge du pixel par la nouvelle valeur améliorée. Par exemple, si la valeur RVB d’origine du pixel était rgb(100, 50, 50), la nouvelle valeur serait rgb(200, 50, 50).
setRed(pixel, enhancedRed)
- Après la boucle for, affichez l’image :
show(pic)
- Cliquez sur le bouton Load Program , situé entre la zone de programmation et la ligne de commande.
- Exécutez la fonction à l’aide de la zone de ligne de commande :
alterReds()
- Utilisez l’explorateur de fichiers pour sélectionner une image. Cliquez sur Ouvrir .
- Une nouvelle fenêtre s’ouvrira pour afficher l’image modifiée.
Comment mettre en miroir une image
Pour refléter une image, chaque pixel sur le côté gauche de l’image doit correspondre exactement au pixel opposé sur le côté droit.
Vous pouvez le faire en créant une nouvelle image vide avec un fond blanc. Vous pouvez ensuite copier chaque pixel pour créer la nouvelle image en miroir.
- Créez une nouvelle fonction appelée mirror() :
def mirror():
- Dans la nouvelle fonction, utilisez la fonction pickAFile() pour demander à l’utilisateur de sélectionner une image. Utilisez la fonction makePicture() pour créer un objet image à partir du fichier sélectionné :
file = pickAFile()
pic = makePicture(file) - Obtenez la hauteur et la largeur de l’image sélectionnée :
width = getWidth(pic)
height = getHeight(pic) - Utilisez la fonction makeEmptyPicture() pour créer une image vide. Une image vide est une image avec un fond blanc. Doublez la largeur pour pouvoir ajuster l’image d’origine sur le côté gauche et l’image retournée sur le côté droit :
mirroredPic = makeEmptyPicture(width*2, height)
- Créez une boucle for pour parcourir chaque coordonnée x et y de l’image d’origine. À l’intérieur de la boucle for, récupérez le pixel stocké à cet emplacement :
for x in range(0, width):
for y in range(0, height):
originalPix = getPixel(pic, x, y) - Toujours à l’intérieur de la boucle for, récupérez le pixel dans la nouvelle image vierge au même emplacement x et y. Cela va être le côté gauche de l’image en miroir :
leftMirrorPixel = getPixel(mirroredPic, x, y)
- Copiez la couleur du pixel d’origine sur le pixel à gauche de la nouvelle image :
setColor(leftMirrorPixel, getColor(originalPix))
- Faites la même chose pour le côté droit. La coordonnée y sera la même. Étant donné que la coordonnée x proviendra du côté droit, soustrayez la coordonnée x de la largeur totale de la nouvelle image en miroir :
rightMirrorPixel = getPixel(mirroredPic, (width*2)-x-1, y)
- Copiez la couleur du pixel d’origine sur le pixel à droite de la nouvelle image :
setColor(rightMirrorPixel, getColor(originalPix))
- Après la boucle for, affichez l’image :
show(mirroredPic)
- Cliquez sur le bouton Load Program , situé entre la zone de programmation et la ligne de commande.
- Exécutez la fonction mirror() depuis la ligne de commande :
mirror()
- Utilisez l’explorateur de fichiers pour sélectionner une image. Cliquez sur Ouvrir.
- Une nouvelle fenêtre s’ouvrira pour afficher l’image en miroir.
Modification d’images à l’aide de JES
J’espère que vous comprenez maintenant comment éditer des photos dans JES en utilisant une variété de techniques. Ce ne sont pas les seules techniques que vous pouvez appliquer aux photos, vous pouvez donc expérimenter davantage d’autres possibilités dans JES.
Si vous souhaitez améliorer vos compétences en Python, des projets courts et amusants sont un excellent moyen de comprendre les concepts clés de Python.
Laisser un commentaire