python
from google.colab import files
from google.colab import drive
drive.mount('/content/drive')
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.
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()
À 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é.