Нет. В интернете совершенно ни одного описания алгоритма фотомозайки. Во всяком случае, я не сумел такой найти.
Пришлось импровизировать и я написал простой алгоритм по выбору главного цвета из аватарки и поиска лучшего незанятого пикселя для его расположения, но результат оставлял желать лучшего.
В итоге, потратив неделю, использовал готовую программу Andreamosaic, смиряясь с ее глюками (иногда попадаются черные квадраты на изображении) и прочими недостатками.
Зачем описание, интереснее самому с нуля придумать! Для начала взять две простеньких критерия без учета геометрии — средняя яркость и средний hue, потом смотреть на апскейл пикселя картинки которую рендеришь и сравнивать сначала общую разницу, потом средее квадратичное отклонение и по яркости и по оттенку, а потому каждому критерию дать какой-то весовой коэффициент и с его помощью всех кандидатов отсортировать, выбрать лучшего. По идее даже такого простого уже должно хватить.
Как найти себя (взято из поста)1. Открываем фотошоп.
2. Открываем в новой вкладке картинку со своей аватарой (у нее должен быть размер 48х48, если что, поправьте ссылку) и копируем изображение
3. В фотошопе создаем новый холст 48х48, вставляем изображение
4. Edit -> Define Pattern (Правка -> Определить узор)
5. Копируем полноразмерный портрет табуна, вставляем на новый холст.
6. Создаем еще один слой, в его свойствах (выпадающий список над панелькой слоев) ставим Difference (Разность).
7. Выбираем инструмент Paint Bucket Tool (Заливка), вверху в выпадающем списке выбираем узор, ищем свою аватару, заливаем.
8. Ищем полностью чёрный квадрат.
Я себя не нашёл, но нашёл многих знакомых и друзей, хых)
Хмммм, МТН рут, а могло ли приключиться такое недоразумение, что моей аватарки на этой картинке не будет? А то я всё внимательно пересмотрел, но ничего не нашёл(
Уааа. Я, в течении часа, нашëл всех, кроме себя. Теперь я чувствую себя полным лохом, за то что себя не нашëл.
Я много раз обыскал ЭТО место, но себя не заметил. Даже заподозрил, что мой аватар на чëрном фоне, ибо некоторые здесь так и изображены.
При первом взгляде нашёл Херба, Шадовика, Стасяна, мистера Фримена, даже антро поню с голыми сисками на автарке нашёл. Себя не нашёл. Может и нету, но поищу ещё.
Ооогого, как же нас тут много! Реально целая армия, и это даже ещё не все! И пусть большинство уже несколько лет как тут не появлялось, даже так Табун — гигантская сила!
А вот во времена, когда аватарки не работали, у нас было общество благоденствия и цветовой дифференциации штанов.
Которые пони, кстати, носят вот так (я знаю — вас годами мучил этот вопрос).
Вангую, что до появления веб-сервиса, в который закидываешь свой юзернейм, а он тебе показывает, где твоя ава на коллаже, осталось примерно два экрана комментариев ))
Вчера видел прекрасную инсталляцию у нас под Питером на лесном фестивале, там пустая рамка от дверного проема стояла и на ней надпись: «Выходи за меня!»
Для этого пришлось написать скрипт, чтобы разрезать общее изображение обратно на 11832 фрагмента, а затем по сравнению PSNR и SSIM вычислить строку и столбец.
скрипт для нарезки
from PIL import Image
import os
im = Image.open('D:/tabun/табун 2025.jpg')
width, height = im.size
for j in range(0, width // 48):
for k in range(0, height // 48):
im.crop((j*48, k*48, (j+1)*48, (k+1)*48)).save(f'D:/tabun/files/{j+1}-{k+1}.jpg', quality=100)
if j*k % 100 == 0:
print(j*k)
input()
Раз у вас есть такое предложение а у меня нет битсов, то был бы рад помощи. Читая отзывы в которых народ находит свои авы пытался свою найти, но либо там её нет, либо «аналоговый метод» — дохлый номер. Если для этого скрипты есть то был бы рад их помощи. Любопытно, есть ли на этой стене памяти моя скромная ава. Если да, то хорошо. Если нет, то был бы рад узнать сей факт.
Репутации тут нет. Тут есть лишь рейтинг.
А раньше — во времена былые — тут были сила и карма. Честь, уважение и ссылка «На пиво»…
… Но теперь тут есть лишь рейтинг.
И локальное всевидящее око в облике меня.
никакие скрипты не писал, выделил по моему мнению самый редкий цвет с моей фотки, инвертировал выделение, удалил, нашёл самый большой кусочек этого цвета, приблизил, отменил удаление)))
Про себя не писал)
Я в начале в самом нижнем низу на чёрном фоне)
Также видел DxD2 и Gor1ik,
Dacratei и Zurg
И Vedont, Правда потерял и больше не смог найти)
А все! Нашёл)
И Dementra, которая к большому сожалению здесь не сидит…
Находится справа сверху от восклицательного знака)
Всё-таки нашёл на полотне свою аву. А ведь уже думал что её там нет. Даже за помощью обратился к человеку использующему скрипты чтобы подтвердил догадку. Но на удачу решил глянуть и…
По техническим причинам в портрет вошло 11832 аккаунтов из доступных 30052.
Ой, да ладно, из этих 11000 дай бог что бы пара сотен до сих пор сидела на табуне. По сути реальное фото табуна сейчас должно выглядеть как здоровенные аватарки из профиля, складывающиеся в квадратный шрифт супер низкого разрешения.
В этом обилии многоцветья сложно себя найти, целый скрипт уже по поиску себя предложили.
А если глазками, то вас с Единорожиком я тоже не увидела, зато Ультрамарина с Зургом нашла просто.
Ух ты какая забава! =) Я себя нашёл =)Мне на это потребовалось 8:56, причём я установил себе лимит в 20 минут, после которого я планировал сдаться и найти нужное место скриптом, но как видно, осталось больше половины времени до лимита =)
А главное абсолютно не понятно нафига. В смысле ладно ещё раньше всяким бризюкам нечем было заняться, когда тут народу полно было, но так они ж до сих пор за каким-то лядом пачками регаются. Вот сейчас как раз у них очередное обострение началось.
То, чего ещё нет, но будет, возможно, будет обладать свойствами, которые помогут этому тому, чего ещё нет, избежать превращения в то, чего уже нет. Не также.
Запрос не поддается обработке. Ваш дракон неисправен. Систем еррор.
На табуне вообще, как было замечено, драконы иногда ломаются. Иногда жёстко, иногда насовсем.
193 комментария
Долго и
невнимательно искал себя, но так и не нашёл…Никто не видел?
Тут Корабельщик не пробегал?
Дякую!
Пришлось импровизировать и я написал простой алгоритм по выбору главного цвета из аватарки и поиска лучшего незанятого пикселя для его расположения, но результат оставлял желать лучшего.
В итоге, потратив неделю, использовал готовую программу Andreamosaic, смиряясь с ее глюками (иногда попадаются черные квадраты на изображении) и прочими недостатками.
Спойлер
Вот это жесть конечно, столько всяких аватарок тут :D
Скажем так, проморгал этот момент XD
пыщ, нашелся таки
Но в итоге, получается, это лишь моя невнимательность
Типа
Спойлер
Спойлер
невнимательно искал себя, но так и не нашёл…Никто не видел?
Тут Корабельщик не пробегал?
2. Открываем в новой вкладке картинку со своей аватарой (у нее должен быть размер 48х48, если что, поправьте ссылку) и копируем изображение
3. В фотошопе создаем новый холст 48х48, вставляем изображение
4. Edit -> Define Pattern (Правка -> Определить узор)
5. Копируем полноразмерный портрет табуна, вставляем на новый холст.
6. Создаем еще один слой, в его свойствах (выпадающий список над панелькой слоев) ставим Difference (Разность).
7. Выбираем инструмент Paint Bucket Tool (Заливка), вверху в выпадающем списке выбираем узор, ищем свою аватару, заливаем.
8. Ищем полностью чёрный квадрат.
Я себя не нашёл, но нашёл многих знакомых и друзей, хых)
Спасибо!
Повторы
А может просто не шибко оригинальные аватарки.
Повторы фото человека
Таких картинок штук пять
Причем частенько повторки расположены вертикально друг над другом.
А вот себя долго и
невнимательно искал, но так и не нашёл…Никто не видел?
Тут Корабельщик не пробегал?
Я «Б»… Причём во всех смыслах...
Кстати: — Всем выйти из сумрака! ©
Легче стало?
Господи, сколько людей! Сколько аватарок: на любой вкус и цвет, и фандом.
Я себя искала довольно долго. Много знакомых нашла в процессе)
Плохо искал, наверное.
Где-то. Ничто не вечно под
Я много раз обыскал ЭТО место, но себя не заметил. Даже заподозрил, что мой аватар на чëрном фоне, ибо некоторые здесь так и изображены.
В серединке
Которые пони, кстати, носят вот так (я знаю — вас годами мучил этот вопрос).
Спойлер
Все там будем.
здесь
Для этого пришлось написать скрипт, чтобы разрезать общее изображение обратно на 11832 фрагмента, а затем по сравнению PSNR и SSIM вычислить строку и столбец.
скрипт для нарезки
from PIL import Image import os im = Image.open('D:/tabun/табун 2025.jpg') width, height = im.size for j in range(0, width // 48): for k in range(0, height // 48): im.crop((j*48, k*48, (j+1)*48, (k+1)*48)).save(f'D:/tabun/files/{j+1}-{k+1}.jpg', quality=100) if j*k % 100 == 0: print(j*k) input()скрипт для поиска
import numpy as np import PIL.Image as Image from skimage.metrics import peak_signal_noise_ratio as PSNR from skimage.metrics import structural_similarity as SSIM import glob import os from itertools import islice def rgb_to_Y(img): xform = np.array( [[65.738 / 256.0, 129.057 / 256.0, 25.064 / 256.0], [- 37.945 / 256.0, - 74.494 / 256.0, 112.439 / 256.0], [112.439 / 256.0, - 94.154 / 256.0, - 18.285 / 256.0]]) img = img.dot(xform.T)[:,:,0:1]+16.0 return img if __name__ == "__main__": data_dir = "D:/tabun/files" images = sorted(glob.glob(data_dir+'/*.jpg')) target = Image.open("D:/tabun/target.jpg").convert('RGB') target_arr = rgb_to_Y(np.array(target).astype(np.float64)) psnr_ = dict() ssim_ = dict() for img in images: crop = Image.open(img).convert('RGB') crop_arr = rgb_to_Y(np.array(hr).astype(np.float64)) psnr_[img] = PSNR(crop_arr, target_arr, data_range=255.) ssim_[img] = SSIM(crop_arr, target_arr, win_size=11, gaussian_weights=True, multichannel=True, channel_axis=-1, K1=0.01, K2=0.03, sigma=1.5, data_range=255) psnr_sorted = dict(sorted(psnr_.items(), key=lambda item: item[1], reverse=True)) ssim_sorted = dict(sorted(ssim_.items(), key=lambda item: item[1], reverse=True)) top_psnr = dict(islice(psnr_sorted.items(), 1)) top_ssim = dict(islice(ssim_sorted.items(), 1)) print(top_psnr) print(top_ssim) input()Спасибище!!!
Благодаря вашему скриншоту, обнаружил себя, как-раз, над буквой «Б»!!!
за 5 битсовсовершенно бесплатно могу помочь найти нужную аватарку на полотне.Обращаться в личку или под этим комментарием.
а у меня нет битсов, то был бы рад помощи. Читая отзывы в которых народ находит свои авы пытался свою найти, но либо там её нет, либо «аналоговый метод» — дохлый номер. Если для этого скрипты есть то был бы рад их помощи. Любопытно, есть ли на этой стене памяти моя скромная ава. Если да, то хорошо. Если нет, то был бы рад узнать сей факт.Знаю, что уже не надо, просто дополнительно подтверждаю наличие.
вот
Мне кажется, на изображение стоило включить только активные аккаунты, например, заходившие в последние полгода.
Спойлер
Была такая идея, но ее я оставил для Нового Года. Символичное подведение итогов с портретом всех активных за год участников.
Причём такую как вот в этом шрифте ^
А раньше — во времена былые — тут были сила и карма. Честь, уважение и ссылка «На пиво»…
… Но теперь тут есть лишь рейтинг.
И локальное всевидящее око в облике меня.
никакие скрипты не писал, выделил по моему мнению самый редкий цвет с моей фотки, инвертировал выделение, удалил, нашёл самый большой кусочек этого цвета, приблизил, отменил удаление)))
Видно плохо, но в живую кароч видно лучше. Это единственная большая точка на экране, поэтому при любом движении бросается в глаза
Между Т и А на самом верху.
Так и думал что будет как у меня, с чёрным фоном)
Спойлер
Но я нашёл Хомуру!)
Спойлер
Но себя я нашёл)
Лошадь найдена!
Я в начале в самом нижнем низу на чёрном фоне)
Также видел DxD2 и Gor1ik,
Dacratei и Zurg
И Vedont, Правда потерял и больше не смог найти)
А все! Нашёл)
И Dementra, которая к большому сожалению здесь не сидит…
Находится справа сверху от восклицательного знака)
Не сразу удалось найти, пришлось минут пять потратить просматривая блоками.
Спойлер
А если глазками, то вас с Единорожиком я тоже не увидела, зато Ультрамарина с Зургом нашла просто.
Вымираем…
Обидно…
Спойлер
«Обидно мне, досадно мне, но ладно» ©
Спойлер
Спасибо!
Это из-за мультиакка? Забыла ник уже его, но он вечно регился,
а спустя какое-то время его сливали.
Я себя нашёл =)
А они точно не повторяются? Заметила несколько одинаковых аватарок пока искала свою
тричетыре с портретом одного и того же ЧЕЛОВЕЧЕСКОГО парня! )))MrNiceGuy , 024 , 005 .
Пипипичалька…
На табуне вообще, как было замечено, драконы иногда ломаются. Иногда жёстко, иногда насовсем.