Пока что я разделил изображение на блоки определенного размера, и эти блоки имеют средний цвет исходного блока.Теперь я должен объединить эти блоки на основе их сходства, где каждый блок содержит одно пиксельное значение (среднее значение цвета).Для этого я пытался объединить пиксели в изображении на основе их значений RGB.Пока что я не нашел ничего, что помогло бы мне с этим.Поэтому, пожалуйста, помогите мне решить эту проблему.Что я сделал до сих пор ...
x и y - размеры блоков.Здесь х = у = 16.
Входные данные: Исходное изображение Выходные данные: Обработанное изображение После этого я ничего не реализовал, поскольку не знаю, как действовать дальше.Теперь я должен сгруппировать пиксели в обработанном изображении на основе их сходства.
i=0
j=0
m=16
n=16
l=[]
data = np.zeros( (256,256,3), dtype=np.uint8 )
while(m<=256):
while(n<=256):
l=image[i:m,j:n]
print(l)
r=0
g=0
b=0
for q in range(len(l)):
for w in range(len(l)):
r=r+l[q][w][0]
g=g+l[q][w][1]
b=b+l[q][w][2]
r=r/(x*y)
b=b/(x*y)
g=g/(x*y)
k=[r,g,b]
data[i:m,j:n]=k
j=j+16
n=n+16
i=i+16
m=m+16
j=0
n=16
img = smp.toimage( data )
data1 = np.asarray( img, dtype="int32" )
cv2.imwrite(os.path.join('G:/AI package/datasets/_normalized',filename),data1)