import skimage.io
import skimage.segmentation
import numpy as np
import matplotlib.pyplot as plt
from mylib.myfunctions import pltShow
# Read in the image as gray, and ntensities are floating point from [0,1]
im = skimage.io.imread('balls.jpg', True)
# Threshold the image first then clear the border
im_clear = skimage.segmentation.clear_border(im > (200.0/255.0))
split_point = int(im.shape[1]/5) # Determine where to split up the image
# Show image in figure and hold to place dots in
plt.figure()
plt.imshow(np.dstack([im,im,im]))
# For each image...
for idx in range(5):
img = im_clear[:,idx*split_point:(idx+1)*split_point] # Extract sub image
y,x = np.nonzero(img) # Find coordinates of thresholded image
xmean = x.mean() # x average as x center
ymean = y.mean() # y average as y center
plt.plot(xmean + idx*split_point, ymean, 'r.', markersize=14) # Plot on figure
# Show image and make sure axis is removed
plt.axis('off')
plt.show()
阈值分割高亮点
最新推荐文章于 2022-11-15 22:38:04 发布