import numpy as npimport matplotlib.pyplot as pltimport cv2 fig, ax = plt.subplots()plt.figure(1)image=cv2.imread("2.jpg")# you can specify the marker size two ways directly:# 这样一个一个像素太慢了故而要将同样颜色的坐标进行分类处理color_class=[]x_y=dict()for x,w in enumerate(image):for y,colors in enumerate(w):if colors.tolist() not in color_class:s=image[:, :, :1] == colors[0]s1=image[:, :, 1:2] == colors[1]s2=image[:, :, 2:3] == colors[2]ss=s*s1*s2 color_class.append(colors.tolist())x_y[len(color_class)]=np.where(ss.reshape((ss.shape[0],ss.shape[1])))print(x,y)for i ,colors in enumerate(color_class):a, b = x_y[i + 1]plt.plot(a,b, ".",color=[colors[2]/255,colors[1]/255,colors[0]/255], markersize=1, label='a') # blue circle with size 20fig.savefig('scatter.svg', dpi=200, format='svg')if __name__ == '__main__':pass