У меня следующая проблема: у меня есть черно-белые изображения, которые я должен раскрасить: каждый белый «шарик» на изображении представляет собой экземпляр объекта, и я хочу покрасить каждый объект новым цветом, но для каждого изображения я хочу использовать одну и ту же цветовую схему:
Например:
- 1-е изображение: 3 объекта -> используемые цвета: красный, зеленый, желтый
- 2-е изображение: 2 объекта -> используемые цвета: красный, зеленый
- 3-е изображение: 5 объектов -> используемые цвета: красный, зеленый, желтый, розовый, оранжевый
I ' Мы вручную раскрасили пару изображений, чтобы показать, как должен выглядеть результат:
Черно-белая маска, которую нужно раскрасить
![image](https://i.stack.imgur.com/mtcnn.png)
2 объекта, 2 цвета: зеленый, желтый
![image](https://i.stack.imgur.com/EsZ4M.png)
4 объекта, 4 цвета: зеленый, желтый, красный, светло-серый
![image](https://i.stack.imgur.com/hoq6Y.png)
Чтобы сделать это автоматически, я попробовал подход здесь :
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()
Проблема в том, что что если я ру На моих изображениях объекты окрашиваются по-разному в зависимости от количества объектов на каждом изображении:
Например:
1-е изображение: 3 объекта -> используемые цвета: красный, зеленый, желтый
2-е изображение: 2 объекта -> используемые цвета: оранжевый, желтый
3-е изображение: 5 объектов -> используемые цвета: красный, оранжевый, зеленый, салатовый, желтый
4 изображение: 3 объекта -> использованные цвета: красный, зеленый, желтый
Вот несколько картинок для визуализации неправильной окраски 3-го изображения:
2 объекта, оранжевого и розового цвета
![image](https://i.stack.imgur.com/Iagtk.png)
Еще одно изображение с 2 объектами, окрашенными в оранжевый и розовый цвета
![image](https://i.stack.imgur.com/eOynG.png)
Изображение с 3 объектами, теперь цвета меняются: оранжевый, желтый и зеленый (что мне нужно : оранжевый, розовый и новый цвет
![image](https://i.stack.imgur.com/qTRth.png)