Diff of /WaterShed.py [000000] .. [b20d48]

Switch to side-by-side view

--- a
+++ b/WaterShed.py
@@ -0,0 +1,62 @@
+#%%     #this line is for VSCode editor only
+import cv2
+#from skimage.measure import compare_ssim
+import argparse
+#import imutils
+import numpy as np
+import matplotlib.pyplot as plt
+%matplotlib inline
+
+img = cv2.imread(r'C:\\Users\\ANSHUL KIYAWAT\\Desktop\\image2.jpg',0)
+
+ret, thresh = cv2.threshold(img,0,255,cv2.THRESH_BINARY+cv2.THRESH_OTSU)
+
+plt.subplot(121),plt.imshow(thresh,'gray')
+plt.title('Thresh_Binary_INV+cv2.Thresh_OTSU')
+plt.xticks([]),plt.yticks([])
+
+# noise removal
+kernel = np.ones((3,3),np.uint8)
+opening = cv2.morphologyEx(thresh,cv2.MORPH_OPEN,kernel, iterations = 2)
+
+# sure background area
+sure_bg = cv2.dilate(opening,kernel,iterations=3)
+
+# Finding sure foreground area
+dist_transform = cv2.distanceTransform(opening,cv2.DIST_L2,5)
+ret, sure_fg = cv2.threshold(dist_transform,0.1*dist_transform.max(),255,0)
+
+# Finding unknown region
+sure_fg = np.uint8(sure_fg)
+unknown = cv2.subtract(sure_bg,sure_fg)
+
+plt.subplot(121),plt.imshow(sure_fg,'gray')
+plt.title('Sure')
+plt.xticks([]),plt.yticks([])
+
+plt.subplot(122),plt.imshow(unknown,'gray')
+plt.title('Unknown')
+plt.xticks([]),plt.yticks([])
+
+# Marker labelling
+ret, markers = cv2.connectedComponents(sure_fg)
+
+# Add one to all labels so that sure background is not 0, but 1
+markers = markers+1
+
+# Now, mark the region of unknown with zero
+markers[unknown==255] = 0
+
+
+plt.subplot(121),plt.imshow(markers,'gray')
+plt.title('Marked')
+plt.xticks([]),plt.yticks([])
+
+img = cv2.imread(r'C:\\Users\\ANSHUL KIYAWAT\\Desktop\\image2.jpg',1)
+img = cv2.medianBlur(img,5)
+markers = cv2.watershed(img,markers)
+img[markers == -1] = [255,0,0]
+
+plt.imshow(img,'gray')
+plt.title('Marked')
+plt.xticks([]),plt.yticks([])