Traitement d'image, imageJ
On étudie le verdissement des endives en fonction des longueurs d'ondes pour notre TIPE. On voudrait un graphique avec le nombre de pixel en fonction de l'intensité de vert.
PB:- le vert dépend aussi des autres composantes rouge et bleue
- si on essaye de seuiller sur IMAGEJ les ombres de l'endive sont aussi compté
On a essayé python et ImageJ sans succès. On prend toute solution pour le traitement d'images
Merci aux âmes charitables qui nous aideront.♥♥
Les vers de terre sont sortis!
On a donc un premier fichier qui transforme l'image couleur en image grise.
Le deuxième programme créerai un fichier excel avec dans une colonne l'intensité de gris(0-255) et dans l'autre le nombre de pixel comprenant cette intensité. Pour l'instant on a ce programme mais on a pas l'impression que les colonnes soient justes. A la base on aurait voulu que ça renvoit directement le graphique avec le nombre de pixel en fonction de l'intensité de gris mais c'est encore plus complexe.
import cv2
import pandas as pd
def calculer_histogramme_gris_excel(chemin_image, nom_fichier_excel="histogramme_gris.xlsx"):
"""
Calcule l'histogramme d'une image en niveaux de gris et enregistre
le résultat dans un fichier Excel.
Args:
chemin_image (str): Le chemin vers le fichier image.
nom_fichier_excel (str): Le nom du fichier Excel à créer.
Par défaut : "histogramme_gris.xlsx"
"""
try:
# Lire l'image en niveaux de gris
img_gris = cv2.imread(chemin_image, cv2.IMREAD_GRAYSCALE)
if img_gris is None:
print(f"Erreur: Impossible de lire l'image à l'emplacement : {chemin_image}")
return
# Calculer l'histogramme
histogramme = cv2.calcHist([img_gris], [0], None, [256], [0, 256])
# Créer un DataFrame pandas
df_histogramme = pd.DataFrame({
'Intensité du gris': range(256),
'Nombre de pixels': histogramme.flatten()
})
# Enregistrer le DataFrame dans un fichier Excel
try:
df_histogramme.to_excel(nom_fichier_excel, index=False)
print(f"L'histogramme a été enregistré dans le fichier : {nom_fichier_excel}")
except Exception as e:
print(f"Erreur lors de l'enregistrement du fichier Excel : {e}")
except Exception as e:
print(f"Une erreur s'est produite : {e}")
if __name__ == "__main__":
chemin_de_l_image = "endiveblanc.png" # Remplacez par le chemin de votre image
nom_du_fichier_excel = "histogramme_gris.xlsx"
calculer_histogramme_gris_excel(chemin_de_l_image, nom_du_fichier_excel)