Separating cell boundaries in the following image and also do nuclear counting using python

I tried to use watershed with Otsu for thresholding but its only picking up nuclear boundaries,I want to segment cells boundaries

I used Otsu followed by noise removal with opening ,identifying sure background, applying distance transform, using it to define sure foreground, defining unknown, creating markersenter image description here

import cv2
import numpy as np
img = cv2.imread("images/bio_watershed/Osteosarcoma_01.tif")

cells=img[:,:,0]  
#Threshold image to binary using OTSU. ALl thresholded pixels will be set 
#to 255

ret1, thresh = cv2.threshold(cells, 0, 255, 
cv2.THRESH_BINARY+cv2.THRESH_OTSU)



# Morphological operations to remove small noise - opening

 kernel = np.ones((3,3),np.uint8)
 opening = cv2.morphologyEx(thresh,cv2.MORPH_OPEN,kernel, 
 iterations = 2)

 # finding sure background

 sure_bg = cv2.dilate(opening,kernel,iterations=10)
 #applying dustance transform

 dist_transform = cv2.distanceTransform(opening,cv2.DIST_L2,5)

 ret2, sure_fg 
 =cv2.threshold(dist_transform,0.5*dist_transform.max(),255,0)


 # Unknown region 
 sure_fg = np.uint8(sure_fg)
 unknown = cv2.subtract(sure_bg,sure_fg)

 #Now we create a marker and label the regions inside. 

 ret3, markers = cv2.connectedComponents(sure_fg)


 #add 10 to all labels so that sure background is not 0, but 10

 markers = markers+10

 # Now, mark the region of unknown with zero

 markers[unknown==255] = 0

 #applying watershed 

 markers = cv2.watershed(img,markers)

 # color boundaries in yellow. 

 img[markers == -1] = [0,255,255]  

 img2 = color.label2rgb(markers, bg_label=0)

 cv2.imshow('Overlay on original image', img)
 cv2.imshow('Colored Cells', img2)
 cv2.waitKey(0)

by running this code I get following nuclear boundary segmentation but I want to get the cell boundaries
nuclear segmentation

Thanks so much for your help