-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathset1q4.py
34 lines (34 loc) · 879 Bytes
/
set1q4.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import numpy as np
import matplotlib.pyplot as plt
import imageio
img = imageio.imread('einstein.tif')
d = np.zeros(256)
s=0
m,n=img.shape
si=img.size
enimg=np.zeros([m,n]);
out=np.zeros(256)
for i in range(0,256):
b=np.uint8(img==i);
s=np.add(s,np.sum(np.ravel(b)));
out[i]=np.ceil(255*s/si)
enimg=np.add(enimg, out[i]*b);
plt.figure(1)
plt.subplot(121)
plt.title('Original image')
plt.imshow(img,cmap='gray')
plt.xticks([]), plt.yticks([])
plt.subplot(122)
plt.imshow(enimg,cmap='gray')
plt.title('Histogram Equalized Image')
plt.axis('off')
plt.figure(2)
plt.subplot(121)
plt.title('Original image histogram')
plt.hist(img.flatten(),256,[0,256],linewidth=1.0);
plt.xlabel('bins'), plt.ylabel('count')
plt.subplot(122)
plt.title('Equalised image histogram')
plt.hist(enimg.flatten(),256,[0,256],linewidth=1.0);
plt.xlabel('bins'), plt.ylabel('count')
plt.show()