Professional Documents
Culture Documents
Image Processing: Digital Assignment - 2
Image Processing: Digital Assignment - 2
Image Processing: Digital Assignment - 2
Digital Assignment - 2
Slot: C1 + TC1
Submitted by
Submitted to
input.jpg
dehazed.jpg (input for segmentation)
Implementation code: (Written in python)
import numpy as np
import cv2
import sys
image1 = cv2.imread(sys.argv[1])
image2 = cv2.imread(sys.argv[2])
image3 = cv2.imread(sys.argv[3])
Z1 = image1.reshape((-1,3))
Z2 = image2.reshape((-1,3))
Z3 = image3.reshape((-1,3))
Z1 = np.float32(Z1)
Z2 = np.float32(Z2)
Z3 = np.float32(Z3)
K1 = 5
K2 = 7
K3 = 7
# Apply kmeans
compactness_image1,clusterLabel_image1,clusterCenter_image1=cv2.kmeans(Z1,K1,
None,criteria,10,cv2.KMEANS_RANDOM_CENTERS)
compactness_image2,clusterLabel_image2,clusterCenter_image2=cv2.kmeans(Z2,K2,
None,criteria,10,cv2.KMEANS_RANDOM_CENTERS)
compactness_image3,clusterLabel_image3,clusterCenter_image3=cv2.kmeans(Z3,K3,
None,criteria,10,cv2.KMEANS_RANDOM_CENTERS)
# Now convert back into uint8, and make original image
clusterCenter_image1 = np.uint8(clusterCenter_image1)
res_image1 = clusterCenter_image1[clusterLabel_image1.flatten()]
clustered_image1 = res_image1.reshape((image1.shape))
clusterCenter_image2 = np.uint8(clusterCenter_image2)
res_image2 = clusterCenter_image2[clusterLabel_image2.flatten()]
clustered_image2 = res_image2.reshape((image2.shape))
clusterCenter_image3 = np.uint8(clusterCenter_image3)
res_image3 = clusterCenter_image3[clusterLabel_image3.flatten()]
clustered_image3 = res_image3.reshape((image3.shape))
cv2.imwrite('Clustered_image1.jpg',clustered_image1)
cv2.imwrite('Clustered_image2.jpg',clustered_image2)
cv2.imwrite('Clustered_image3.jpg',clustered_image3)
cv2.imshow('Clustered_image1', clustered_image1)
cv2.imshow('Clustered_image2', clustered_image2)
cv2.imshow('Clustered_image3', clustered_image3)
cv2.waitKey(0)
cv2.destroyAllWindows()
Output image:
Reference:
Published in: IEEE Transactions on Image Processing (Volume: 24, Issue: 11, Nov. 2015)
Citation: Zhu, Q., Mai, J., & Shao, L. (2015). A fast-single image haze removal algorithm
using color attenuation prior. IEEE transactions on image processing, 24(11), 3522-3533.
DOI: 10.1109/TIP.2015.2446191
Published in: Procedia Computer Science Volume 54, 2015, Pages 764-771
Citation: Dhanachandra, N., Manglem, K., & Chanu, Y. J. (2015). Image segmentation
using K-means clustering algorithm and subtractive clustering algorithm. Procedia
Computer Science, 54, 764-771.
DOI: 10.1016/j.procs.2015.06.090