我有一个图像,其中有标有数字的对象,例如属于对象 1 的所有像素的值为 1 等等。图像的其余部分为零。
我想看到每个对象都具有不同的随机颜色和白色背景。
我尝试过几种颜色贴图,如灰色、黑色等,但没有一个满足要求,因为它们按顺序将对象从暗到亮着色。
多谢。
使用随机颜色制作自己的颜色图是解决此问题的快速方法:
colors = [(1,1,1)] + [(random(),random(),random()) for i in xrange(255)]
new_map = matplotlib.colors.LinearSegmentedColormap.from_list('new_map', colors, N=256)
Run Code Online (Sandbox Code Playgroud)
第一种颜色是白色,为您提供白色背景。
完整的运行代码:
import scipy
from scipy import ndimage
import matplotlib.pyplot as plt
import matplotlib
from random import random
colors = [(1,1,1)] + [(random(),random(),random()) for i in xrange(255)]
new_map = matplotlib.colors.LinearSegmentedColormap.from_list('new_map', colors, N=256)
im = scipy.misc.imread('blobs.jpg',flatten=1)
blobs, number_of_blobs = ndimage.label(im)
plt.imshow(blobs, cmap=new_map)
plt.imsave('jj2.png',blobs, cmap=new_map)
plt.show()
Run Code Online (Sandbox Code Playgroud)
带标签、随机着色的输出示例:

希望这对你来说是随机的!