[PYTHON] Échelle de gris et lissage de la luminosité

Environnement d'exécution

Google Colaboratory

Préparation du chargement d'images avec Google Colaboratory

python


from google.colab import files
from google.colab import drive
drive.mount('/content/drive')

Chargement des bibliothèques requises

python


import cv2 #opencv
import matplotlib.pyplot as plt 
%matplotlib inline
img = plt.imread("/content/drive/My Drive/Colab Notebooks/img/Lenna.bmp")
#↑ plt de cet article.J'ai décidé de le lire avec imread.

Diverses conversions

python


plt.figure(figsize=(9, 6), dpi=100,
           facecolor='w', linewidth=0, edgecolor='w')

#Image originale
plt.subplot(3,3,1)
plt.imshow(img)
plt.subplot(3,3,4)
color = ('b','g','r')
for i,col in enumerate(color):
    histr = cv2.calcHist([img],[i],None,[256],[0,256])
    plt.plot(histr,color = col)
    plt.xlim([0,256])

#niveaux de gris
plt.subplot(3,3,2)
gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY) 
plt.imshow(gray)
plt.subplot(3,3,5)
plt.hist(gray.ravel(),256,[0,256])

#Lissage de la luminosité
plt.subplot(3,3,3)
dst = cv2.equalizeHist(gray)
plt.imshow(dst)
plt.subplot(3,3,6)
plt.hist(dst.ravel(),256,[0,256])

plt.show()

résultat

image.png

À partir de la gauche Original / Échelle de gris / Lissage de la luminosité

grammaire niveaux de gris

python


cv2.cvtColor(src, cv2.COLOR_RGB2GRAY) 

Lissage de la luminosité

python


cv2.equalizeHist(src)

En lissant la luminosité, l'histogramme se propage uniformément, Il est plus facile de comprendre la lumière et l'obscurité. Il semble préférable de le faire pour détecter la fonctionnalité.

Recommended Posts

Échelle de gris et lissage de la luminosité
Image en niveaux de gris et enregistrer au format csv