
# https://www.globalsino.com/ICs/
# Average histogram of columns and rows

import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
import cv2
from skimage.color import rgb2gray

image = cv2.imread(r"C:\GlobalSino2\ICs\images\4268f.png")
HistogramImage = r"C:\GlobalSino2\ICs\images\4268fGrey.png"
GrayImage = 5*rgb2gray(image) # times 5 here in order that the plot of Loc to be visible
greyImage = r"C:\GlobalSino2\ICs\images\4268_0.png"
cv2.imwrite(greyImage, GrayImage)
cv2.imshow("greyImage", GrayImage)
# load Image as Grayscale
i = Image.open(greyImage).convert("L")
# convert to numpy array
n = np.array(i)

# average columns and rows
# left to right
cols = n.mean(axis=0)
# bottom to top
rows = n.mean(axis=1)

# plot histograms
f, ax = plt.subplots(2, 1)
ax[0].plot(cols)
ax[0].set_ylabel("Average columns")
ax[1].plot(rows)
ax[1].set_ylabel("Average rows")
plt.savefig(HistogramImage)
f.show()
