Фото вопросы для вк: Как узнать, кто отправил анонимный вопрос в ВК-2022

Содержание

Как узнать кто репостнул фото ВК?

Для того, чтобы узнать, кто репостнул ваше фото ВК, воспользуйтесь нашим Сервисом VK.BARKOV.NET, а его парсеры (специальные инструменты) будут собирать интересующие вас данные из открытого доступа ВКонтакте.
Репосты — опция, ограниченная ВК, доступ к этим данным оставлен лишь администраторам и владельцам.

Воспользовавшись ссылкой ниже, начинайте парсить репостнувших фото ВК.
Отметьте категорию, откуда именно будете парсить данные об активных пользователях под фото (альбомы, список отдельных фото или все фото пользователя или сообщества ВК).
И укажите лишь парсинг репостов.

Парсер соберет тех пользователей ВКонтакте, которые репостнули указанные вами фотографии ВКонтакте.
Кстати, парсер может собрать и JPG-ссылки на фото.


Запустить скрипт для решения вопроса

Полезный небольшой видеоурок по этой теме

О сервисе поиска аудитории ВКонтакте

vk.barkov.net — это универсальный набор инструментов, который собирает самые разнообразные данные из ВКонтакте в удобном виде.

Каждый инструмент (скрипт) решает свою задачу:

Например, есть скрипт для получения списка всех подписчиков группы.
А вот тут лежит скрипт для сбора списка всех людей, поставивших лайк или сделавших репост к конкретному посту на стене или к любым постам на стене.
Ещё есть скрипт для получения списка аккаунтов в других соцсетях подписчиков группы ВКонтакте.
И таких скриптов уже более 200. Все они перечислены в меню слева. И мы регулярно добавляем новые скрипты по запросам пользователей.


Запустить скрипт для решения вопроса

Полезные ответы на вопросы по этому же функционалу для сбора данных из ВКонтакте

Как сделать по списку сбор лайкнувших фото ВКонтакте?

Найти людей, которые оставили комментарии под фото в сообществах ВК в последние 2 недели

Парсер фото ВК

Сбор активности в фото ВКонтакте

Как спарсить описание под фото ВКонтакте?

Парсить ссылки на сообщества с открытыми фотоальбомами ВКонтакте

Как собрать ID пользователей ВКонтакте, которые выкладывали фото в альбом?

Парсер фото вконтакте бесплатно

Найти все фото пользователя ВКонтакте

Как спарсить комментарии в альбомах групп/пользователей?

Найти приложение для сбора лайков и комментариев в альбомах групп ВКонтакте

Собрать людей, проявлявших какую-то активность, связанную с фото ВК

Парсер по авторам фото, привязанных к определенной геоточке ВКонтакте

Собрать пользователей ВКонтакте, которые комментировали альбом вк?

Как сделать парсинг фото ВКонтакте?

Поиск людей, которые оставили комментарии под фото в сообществах ВКонтакте за последние 2 недели

Спарсить ссылки на фото ВК

Сбор авторов фото, лайков, репостов и комментариев к фото и фотоальбомам ВКонтакте

Как узнать кто репостнул фото в вк

Как найти количество подписчиков группы, которые лайкнули фото?

Как выбрать рекламный формат в соцсети ВКонтакте: цели, требования, технические особенности

Помогаем разобраться в специфике рекламных форматов ВКонтакте, а также рассказываем, как автоматизировать рекламу в социальных сетях с помощью сервисов К50.

Цели и форматы

Для начала нужно определиться – для чего вы планируете запустить конкретное объявление/рекламную кампанию.

  • Продвижение мероприятия/курса, ретаргетинг
  • Продвижение интернет-магазина, товаров и услуг
  • Набор подписчиков, целевых звонков
  • Сбор заявок — запись на мероприятие, услугу, пробный период использования, вакансии
  • Продвижение сайта, трафик на сайт
  • Повышение узнаваемости бренда и увеличение охватов
  • Продвижение игр и мобильных приложений
  • Продвижение личного бренда


Выбор формата объявления в рекламном кабинете ВКонтакте

Mindmap

Для удобства мы подготовили mindmap, который помогает быстро сориентироваться в разнообразии форматов в зависимости от конкретных целей. Вы можете сохранить карту в формате PDF, чтобы использовать в дальнейшем.


Технические требования форматов рекламы ВКонтакте

Теперь, предлагаем узнать подробнее о форматах, которые больше подходят под ваши цели.


1. Запись с кнопкой

Такой формат предполагает минимум текста, информативную картинку и кнопку с призывом к действию. Формат подходит для разных целей и часто используется для привлечения трафика на сайт, в сообщество или сбора заявок и целевых звонков.


Примеры записи с кнопкой (реклама услуги, вакансии)

Технические особенности

Кнопка

  • В зависимости от ваших целей предлагаются варианты названия кнопки
  • ( “Записаться”, “Вступить”, “Получить предложение”, “Попробовать” и другие).
  • Кнопка может перенаправлять пользователя на ваш сайт или посадочную страницу, на автоматическое вступление в сообщество, на заполнение лид-формы или на активный номер телефона для вызова.

Важно, что пользователю может кликнуть не только на кнопку, но и на картинку. Она также приведет к нужному действию.


Текст
  • В описание можно ввести не более 220 символов.
  • Допускается 6 эмодзи и изменение заголовка вручную.
  • Ссылки и хэштеги добавлять нельзя.
  • Возможности ввести подробное описание товара/услуги или преимуществ тоже нет.
  • Рядом с кнопкой можно заполнить сниппет (до 80 знаков с пробелами).

Изображения, видео

  • К записи можно приложить только одно горизонтальное прямоугольное изображение, размером 537×240 px в форматах JPG, GIF или PNG или видео.
  • При использовании текста на картинке, он не должен занимать более 50% пространства.
  • Формат 16:9, т.к. при другом соотношении сторон ВК добавит черные поля.
  • ВК поддерживает большинство популярных форматов (AVI, MP4, MOV, MKV, VOB и другие).


Примеры записи с кнопкой (реклама товара)

2. Карусель

Популярный формат, который подходит для рекламы нескольких товаров сразу с предложением перейти в полную версию каталога или сделать заказ на сайте. Чаще всего используется для рекламы доставки еды, одежды, техники, аксессуаров или сувенирной продукции.


Пример карусели с рекламой одежды на десктопной версии

Карусель удобна тем, что показывает сразу несколько позиций, повышая шансы заинтересовать потенциального покупателя одним из вариантов. Также формат активно используют для продвижения различных услуг, т.к. он позволяет в одном объявлении наглядно показать несколько преимуществ, способов применения или закрываемых задач.


Пример карусели с рекламой услуг на десктопной версии


Примеры отображения карусели на мобильной версии


Карусель на мобильной версии с задачами, которые закрывает касса

Технические особенности формата

Карточки

  • Формат допускает размещение от 3 до 10 блоков с картинкой и текстом.
  • При необходимости карточки могут вести на разные площадки – например, на сайт, страницу сообщества или активный номер телефона.
  • Надпись на кнопке выбирается из стандартных вариантов.

Текст
  • Текст до карточек не должен превышать 220 знаков, содержать ссылки, хэштеги и упоминания через @, а заголовок ограничен 25 символами.
  • Также при желании можно добавить цену (старую и/или новую).
  • Нельзя добавлять более 6 эмодзи.

Изображения

  • Вы можете использовать квадратные изображения в форматах JPG, PNG или GIF (не анимированном).
  • Размер 400 на 400 px.

3. Универсальная рекламная запись

Универсальная рекламная запись выглядит как обычный пост. Это и плюс, и минус в зависимости от цели, которую вы преследуете. Например, если вы хотите выделить свое рекламное сообщение и привлечь к нему как можно больше внимания за ограниченное время, то это не ваш вариант.

Универсальная запись помогает, маскируясь под информационный пост, мягко о себе напомнить. Чаще всего ее используют для набора подписчиков, привлечения трафика на сайт и рекламы какой-то активности (конкурса, розыгрыша). Для рекламы можно использовать любые уже опубликованные посты из вашего сообщества, в том числе и с опросами.


Примеры универсальной записи (лонгрид и опрос)

Технические особенности формата

Текст

Пожалуй самый многословный формат.

  • Разрешается вводить до 16 384 символов!
  • При этом всё также можно использовать не более 6 смайлов.

Формат позволяет очень подробно описать достоинства предложения или рассказать целую историю. Такие лонгриды строятся по законам писательского мастерства – с интригующей завязкой, кульминацией и развязкой. Наверняка, вы видели посты, в которых реклама обучающих курсов выглядит как рассказ из жизни от первого лица.


Кнопка

Кнопки с призывом к действию в этом формате нет. Но есть возможность добавить ссылку или кликабельную фразу прямо в текст.

Изображения, видео, GIF
  • В универсальную запись можно добавить до 10 фото/картинок, видео или GIF-анимаций.
  • При наличии текста, он также не должен занимать более 50 площади изображения.
  • Специальных требований к размеру картинок нет.

Что касается требований к видео:

  • Поддерживаются большинство популярных форматов
  • Разрешение не должно превышать 1080 px, а вес – 2 Гб.
  • Можно вставлять ролики прямо с YouTube, RuTube и Vimeo, не скачивая их.

Гифки:

  • Должны прикрепляться как документы.
  • Весить не больше 50 Мб.
  • Не превышать размеры 1000px с каждой стороны.
  • Содержать больше 1 кадра с интервалом между кадрами от 0,01 до 1 секунды.


Пример универсальной записи с видео

4. Реклама в клипах и историях

Просмотр историй – один из ежедневных ритуалов пользователей социальных сетей. Для рекламодателя же это ещё одна возможность взаимодействия с аудиторией над новостной лентой и/или в разделе Клипы.

Чаще этот формат используют в дополнение к основному. Например, мобильное приложение собирает заявки и клики в блоке с рекламой приложений, а в историях повышается его узнаваемость. Или на странице сообщества проводится какая-то активность, а в историях к ней привлекается дополнительное внимание. Также там можно проводить интерактивы (игры, викторины, опросы).

Реклама в клипах и историях помогает повышать узнаваемость, поэтому она подойдёт малому бизнесу, блогерам, экспертам, селебрити и всем, кто заинтересован в продвижении личного бренда. Крупный бизнес также нередко использует этот вид рекламы для поддержания интереса и привлечения внимания к акциям и конкурсам.


Пример рекламы конкурса и крупного бренда в историях

Технические особенности

Тексты

Описание до 200 символов, не может включать ссылки, но может содержать хештеги.


Изображения, видео

В истории:

  • Можно поместить 3 картинки или видеоролика.
  • Для фото или картинки минимальное разрешение 720 на 1280 px.
  • Что касается требований к видео, то можно использовать ролики с соотношением сторон 9 на 16 до 15 секунд и 10 Мб каждый.
  • И для фото, и для видео ориентация должна быть вертикальной.

При выборе размещения в Клипах (или и в историях, и в клипах):

  • Разрешается использовать только 1 видео.

Во всех вариантах допустимо большинство популярных форматов: AVI, MP4, 3GP, MPEG, MOV, FLV, F4V, WMV, MKV, WEBM, VOB и другие.

Кнопка

Помимо повышения узнаваемости, формат позволяет собирать заявки и переходы с помощью кнопки. Кнопка может перенаправлять на страницу или сообщество в ВК или на сторонние сайты.


5. Тизеры

Кроме ленты новостей и историй, есть возможность показывать рекламу в боковой части сайта. Плюсы тизеров в том, что рекламу увидят даже пользователи, которые зашли просто проверить сообщения и не перейдут в новости. Также этот формат обходится дешевле, чем реклама постов в ленте.

Минусы – такие объявления показываются только пользователям на десктопной версии (а большая часть посетителей сидят в соцсетях со смартфонов), имеют довольно маленький размер и не показывается пользователям, у которых стоит антирекламное расширение. Также из-за короткого неинформативного описания, кликов может быть много, а конверсии мало.

Тизеры чаще все используют для продвижения мероприятий, инфобизнеса и ретаргетинга.

Технические особенности тизеров

Создание тизерной рекламы находится в нижней части рекламного кабинета, под основными форматами в разделе Рекламные объявления на страницах сайта.


Выбор формата объявления в рекламном кабинете ВКонтакте


Текст

В заголовок тизера можно вводить от 3 до 33 символов с пробелами. Он выделяется жирным шрифтом. Под ним отображается тип рекламируемого объекта: страница, сообщество, приложение или событие, при рекламе сайта подставляется домен.

Само описание может включать от 3 до 70 символов с пробелами. Для рекламы сайтов, приложений и сообществ доступны варианты с текстовым описанием или без него (только с заголовком). Текст не может заполнять более 50% изображений.

Изображение

Есть несколько типов тизеров (с прямоугольной вертикальной картинкой в двух размерах и квадратный). В зависимости от типа тизера различаются требования к изображениям.

Для вытянутого тизера с текстовым описанием картинка не должна быть меньше 145 на 85 px. У вытянутого тизера только с заголовком и картинкой размеры 145 на 165 px. Для квадратного – соотношение сторон 145 на 145 px.

Во всех видах тизера вес изображения не должен превышать 5 Мб, и можно использовать форматы JPEG, PNG, BMP, TIF или неанимированный GIF.


6. Реклама сайта без поста

Рекламировать сайт можно и не создавая пост на стене сообщества. При выборе формата “Реклама сайта без поста”, запись можно создать в рекламном кабинете. Этот вариант подходит, когда нужно направлять трафик сразу на внешний сайт.


Пример рекламы сайта без поста


Технические особенности

Текст

  • Формат позволяет использовать от 3 до 25 символов в заголовке и от 3 до 70 символов в описании (с пробелами).
Изображения

  • Размер логотипа не может быть меньше 256 на 256 px.
  • Допускается использование изображений в форматах JPEG, PNG, BMP, TIF или GIF без анимации.
  • Требования к размеру: не менее 1080 на 607 px и не более 5 Мб.
  • Текст должен занимать не больше половины изображения.
Кнопка

Для кнопки призыва к действию на выбор предлагается несколько названий.

7. Сбор заявок

Сбор заявок – это еще один интересный формат, который позволяет собирать заявки без перенаправления на сайт. Для потенциального клиента это удобно, потому что поля с данными заполняются автоматически (в случае если нужная информация есть на странице пользователя).

Формат подходит для продвижения через бесплатное предоставление тестового периода, консультации или занятия. Его часто используют для рекламы мероприятий, услуг и вакансий. Поля формы задаются самостоятельно. Получаемая информация помогает создавать персональные предложения.


Пример сбора заявок с помощью открывающейся лид-формы

Технические особенности

Текст

Что касается требований к тексту для формата Сбор заявок:

  • Допускается использовать до 220 символов в описании и до 80 в тексте возле кнопки.
  • В самом заголовке следует ограничиться 60 знаками.
  • В лид-форме можно вводить до 600 символов.
  • Обязательно нужно прикреплять ссылку на политику конфиденциальности кампании, или если такой нет — на политику конфиденциальности ВК.

Не рекомендуется делать лид-формы слишком объемными, чтобы не потерять интерес пользователей до отправки формы.

Изображение

К обложке тоже есть ряд требований. У картинки в самом объявлении должно быть определенное 537 на 240 px.

Если вы работаете с разными соцсетями, то удобнее пользоваться специальным обработчиком лид-форм, который собирает все заявки в одном месте.

8. Реклама мини-приложений

Ещё один удобный формат, который позволяет создавать объявления с рекламой игр и приложений без привязки к аккаунту в VK. Важно, что такая реклама доступна только для игр из каталога Direct Games и мини-приложений из VK Mini Apps. Объявления можно показывать в общей ленте и/или в специальном блоке. В первом случае вы сможете повысить узнаваемость, во втором – получить клики и скачивания.



Пример отображения рекламы игр и приложений


Технические особенности

Текст

В заголовке допускается 25 знаков, в описании до 220.

Изображение, видео

Рекомендованные размеры для изображения:

  • 1080 на 607 px (соотношение сторон 16:9) весом до 5 Мб

Для видео:

  • 600 на 338 px (соотношение сторон 16:9, 4:3, 1:1).
  • Можно загружать ролики от 3 сек. до 5 мин. весом до 1 Гб.

Требования к логотипу:

  • Он должен соответствовать Правилам размещения рекламных объявлений
  • Размеры не менее 256 на 256 px (соотношение сторон) и вес не больше 5 Мб.
  • Можно загружать логотипы и изображения в форматах JPG, PNG, BMP, TIF или GIF.

Кнопка

Надпись можно выбрать из предложенных вариантов (Написать, Начать, Открыть, Подать заявку и т. д.). Перенаправлять пользователя будет при клике на любую область объявления.

9. Реклама личной страницы

Для продвижения личного бренда и набора подписчиков больше всего подходит реклама личной страницы. В ленте такая реклама выглядит как обычный пост с кнопкой призыва к действию.

Технические особенности

Текст

  • Вы можете использовать до 25 знаков в заголовке и до 220 в описании.
  • Текст кнопки можно выбрать из стандартных вариантов, но есть возможность добавить описание рядом с кнопкой (25 символов).
  • Под самой записью будет обозначение типа рекламируемого объекта (Личная страница).

Изображения, видео

При рекламе страницы есть возможность загрузить логотип, изображение или видео:

  • Лого (размеры 256 на 256 px)
  • Размеры изображения: 1080 на 607 px (стороны 16:9) вес до 5 Мб.
  • Размеры видео 600 на 338 px (стороны 16:9, 4:3, 1:1).
  • Длительность роликов от 3 сек. до 5 мин., вес до 1 Гб.
  • Можно зациклить воспроизведение видео.

Как повысить эффективность рекламных кампаний в ВКонтакте

При продвижении бизнеса в социальных сетях часто возникает проблема с оперативной обработкой заявок. Чтобы не упускать клиентов можно использовать специальные сервисы, которые помогают собирать и обрабатывать заявки из разных социальных сетей в одном месте, например, Обработчик лид-форм К50.

Сервис автоматически собирает заявки из лид-форм и сразу же обрабатывает их одним из доступных способов. Вы можете получать заявки на почту, в CRM, обрабатывать их обратным звонком, забирать по API или просто хранить в интерфейсе К50.

Вторая сложность, с которой часто сталкиваются рекламодатели, это объективная оценка эффективности рекламных кампаний в социальных сетях. В этом поможет аналитический сервис К50:BI. Он позволяет сравнивать и анализировать рекламные кампании и креативы между собой по эффективности, стоимости привлеченного лида и другим важным параметрам. В одном отчете можно использовать и преобразовывать данные из разных отчетов и социальных сетей. Подробнее о том, как оценивать эффективность таргетированной рекламы с помощью BI-системы рассказываем здесь.

vk com, Стоковые Фотографии и Роялти-Фри Изображения vk com

vk com | Depositphotos Изображения

ВидеоРедакцииМузыка и звуковые эффекты Инструменты

ПредприятиеЦены Фото

ВойтиРегистрация

Братислава, Словакия, 8 апреля 2019 г.: Логотип Вконтакте на экране смартфона на фоне зеленых листьев. Полосатый кот с переноской на белом фонеХАРЬКОВ, УКРАИНА — 17 ОКТЯБРЯ 2019 г.: Многие бумажные иконки с логотипом самых популярных социальных сетей и приложений для смартфонов для чата и онлайн-разговоров КИЕВ, УКРАИНА — 18 НОЯБРЯ 2019 г.: обрезанный вид человека, показывающего цифровой планшет с приложением vkontakte на экране, изолированный на желтомVK Letter Logo монограмма шестиугольной формы с орнаментом абстрактный изолированный контур дизайна шаблонаЛод, Израиль — 8 июля 2020 г. : страница магазина приложений VK на дисплее черного мобильного смартфона, изолированного на белом фоне. Плоский вид сверху с копировальным пространством. КИЕВ, УКРАИНА — 18 НОЯБРЯ 2019 г.: плачущий человек показывает на экране цифровой планшет с приложением ВКонтакте, изолированный на желтом ХАРЬКОВ, УКРАИНА — 17 ОКТЯБРЯ 2019 г.: Многие бумажные иконки с логотипом самых популярных социальных сетей и приложений для смартфонов для чатов и разговоров в ИнтернетеХАРЬКОВ, УКРАИНА — 26 ДЕКАБРЯ 2020 г.: Бумажные логотипы самых популярных социальных сетей и мобильные мессенджеры на деревянном фоне. Facebook instagram youtube twitter tiktok twitch reddit и другие

Попробуйте разные ключевые слова

vkontakte

КИЕВ, УКРАИНА — 30 ИЮЛЯ 2019 г.: улыбающаяся девушка держит цифровой планшет с приложением ВК на экране, изолированная на розовомТула Россия 16.01.20 ВК на экране планшетного компьютера изолированаТула 2.08 2019 ВК на дисплее телефонаТула, Россия — 28 ноября 2018 г. В значок приложения kontakte на экране Apple iPhone X крупным планом. Значок приложения ВК. Мобильное приложение Вконтакте. Сеть социальных сетей. Значок социальных сетейKYIV, UKRAINE — 30 июля 2019 г.: улыбающаяся девушка держит цифровой планшет с приложением vk на экране, изолированная на розовомTallinn / Эстония — 20/01/2019: Черный Apple iPhone с иконками социальных сетей: instagram, youtube, reddit, facebook, twitter, приложение Snapchat на экране. Иконки социальных сетей. Фон джинсовых джинсовХАРЬКОВ, УКРАИНА — 17 ОКТЯБРЯ 2019 г.: Многие бумажные иконки с логотипом самых популярных социальных сетей и приложений для смартфонов для чата и разговоров онлайнКИЕВ, УКРАИНА — 4 ФЕВРАЛЯ 2019 г.: вид в полный рост беременной женщины-хиппи с чемоданом, держащей цифровой планшет с приложением vk на экране, изолированном на белом ХАРЬКОВ, УКРАИНА — 26 ДЕКАБРЯ 2020 г.: Бумажные логотипы самых популярных социальных сетей и мобильных устройств мессенджеры на деревянном фоне. Facebook instagram youtube twitter tiktok twitch reddit и другие Алушта, Россия — 29 июля, 2018: Женщина держит iPhone X с социальной сетью Messenger на экране. iPhone 10 был создан и разработан компанией Apple inc. КИЕВ, УКРАИНА — 4 ФЕВРАЛЯ 2019 г.: обрезанный вид беременной женщины, держащей цифровой планшет с приложением vk на экране, изолированным на белом 003

Любой возраст

Любая этническая принадлежность

Без лица

Точка зрения

Угол камеры

Дата добавления

В любое время

Автор

Введите имя

Редакция

Цвет 9000 3

Новый

Происхождение и местоположение

Сезон, время суток

Исключить ключевые слова

Вы используете устаревший браузер. Чтобы работать в Интернете быстрее и безопаснее, бесплатно обновитесь сегодня.

Android: эволюция фоторедактора | by VK Team

Чтение: 8 мин.

·

25 августа 2017 г.

Как фоторедактор для Android трансформировался из начальной версии Snapster в официальные фильтры приложения ВКонтакте.

Эта история началась в 2015 году, когда мы начали разработку Snapster, независимого приложения для редактирования фотографий. В то время и в наших официальных приложениях, а также в Instagram инструменты для редактирования фотографий были довольно примитивными. Сделайте снимок, сделайте простые цветовые модификации с помощью шейдеров OpenGL и наложите текстуры поверх, если хотите гламурных изображений. Задача выполнена.

По прошествии нескольких месяцев с начала разработки, когда первая версия Snapster была готова, в ней все еще использовались фильтры, взятые из основного приложения ВКонтакте. В это время мы начали понимать, что существующий подход уже не актуален и нам нужно придумать что-то новое и инновационное.

Мы решили, что было бы здорово, если бы пользователи могли создавать свои собственные фильтры прямо с телефона. Процесс создания фильтров должен был быть простым, чтобы приличного результата можно было добиться простым случайным нажатием кнопки. Более того, редактор должен работать быстро, так как крайне важно качественное исполнение, а значит, мы должны максимально использовать возможности встроенного графического процессора.

Учитывая, что уникальные фильтры не могут быть созданы из-за регулировок основных параметров (яркости, контрастности и т. д.) с помощью циферблата, мы решили добавить в редактор полную цветокоррекцию.

Цветокоррекция

Основной алгоритм цветокоррекции состоит из двух шагов:

  1. Найдите все пиксели, удовлетворяющие заданным условиям на изображении. Например, если вы хотите изменить все чисто красные пиксели на что-то другое, необходимо найти все пиксели, соответствующие цветовому коду RGB (255, 0, 0).
  2. Измените выбранные пиксели на нужный цвет.

Звучит довольно просто, но сразу же возникло несколько вопросов:

  1. Как задать критерии поиска? Очевидно, что условия, когда «составляющая R равна 255, а G и B равны 0», трудно воспроизвести на практике. Как можно определить алгоритм, необходимый для выбора пикселей , похожих на этого цвета?
  2. Как быстро эти пиксели могут быть расположены на изображении? Если условия поиска слишком сложные, то качественной работы можно ожидать только при использовании очень мощных устройств.
  3. Если под критерии поиска попадают пиксели разных цветов, то их нельзя строго изменить на цвет N без учета исходного цвета.

Чтобы найти пиксели нужного цвета, необходимо определить критерии поиска. Если мы хотим найти все пиксели, которые отличаются от определенного цвета не более чем на N, где N — динамически заданная ошибка, как это сделать? Поскольку различные цвета можно разложить на отдельные компоненты, являющиеся значениями координат, для вычисления разницы между двумя цветами можно использовать евклидово расстояние.

Сначала мы попытались найти необходимые пиксели изображения, измерив расстояние между их цветовыми значениями RGB. Однако полученные результаты поиска были далеки от идеальных. Хотя человеческому глазу пиксели могут казаться очень похожими, на самом деле они могут находиться на значительном евклидовом расстоянии друг от друга. Проблема в том, что изменения цвета RGB очень нелинейны по отношению к человеческому восприятию, а это означает, что небольшое изменение значения RGB может быть очень заметным для человеческого глаза и наоборот. Сравните:

RGB (0,0,0) → RGB (50,0,0)RGB (205,0,0) → RGB (255,0,0)

Чтобы решить эту проблему, мы перешли к использованию цветовой модели CIELab.

CIELab — цветовая модель, максимально приближенная к человеческому восприятию цветов. В CIELab любой цвет индивидуально определяется яркостью L и двумя хроматическими компонентами: a (расположение между зеленым и фиолетовым) и b (расположение между синим и желтым).

Схема CIELab

CIELab позволяет оценить цветовую разницу с точки зрения человеческого глаза с помощью простого вычисления евклидова расстояния между двумя цветами. Другими словами, можно с некоторой погрешностью N выделить пиксели, напоминающие тот же цвет, что и искомый, задав условие «если евклидово расстояние между Lab-значением некоторого пикселя и Lab-значением цвета X меньше N, пиксель исправен» .

Кроме того, при использовании этой модели для человеческого глаза становится очень естественным процесс замены выбранных пикселей желаемым цветом. Основываясь на том же евклидовом расстоянии, мы также можем рассчитать, как изменить цвет, сохранив при этом естественное изображение.

Изменение выбранного цвета

Первоначальная реализация

Мы хотели дать пользователям возможность сразу видеть результаты на экране, что требует кросс-платформенного решения. Следовательно, единственный вариант — OpenGL.

Помимо цветокоррекции, редактор также должен был иметь возможность автоматически улучшать изображение, одновременно выполняя основные операции, такие как изменение яркости, контрастности и других характеристик.

Автоматическое улучшение нашего редактора основано на методе выравнивания гистограммы. Цель состоит в том, чтобы настроить гистограмму исходного изображения так, чтобы она напоминала линейную функцию. Хотя существует несколько таких методов, мы используем CLAHE.

КЛЭ (контрастно-ограниченное адаптивное выравнивание гистограммы) является адаптивным, поскольку обрабатывается не вся гистограмма изображения, а более мелкие отдельные фрагменты. Он ограничен по контрасту, поскольку контраст изменяется только в указанных пределах, чтобы избежать нежелательного усиления фонового шума на изображении.

CLAHE выполняется на процессоре, но это происходит только один раз при каждом запуске редактора, так как результирующая текстура сохраняется в кэше в памяти. Следовательно, никаких конкретных требований к производительности не требуется.

Во время начальной реализации конвейер редактора выглядел так:

  1. Применение автоулучшения с заданной интенсивностью.
  2. Применение основных операций.
  3. Преобразование полученного изображения в лаб.
  4. Применение цветокоррекции.

На этом этапе пользователям была предоставлена ​​возможность выбирать любой цвет в любом количестве для цветокоррекции. В результате шейдер OpenGL собирался динамически в тот момент, когда пользователь выбирал и редактировал цвета.

Преобразование из RGB в Lab было выполнено без какой-либо оптимизации, что означает преобразование значения цвета RGB в XYZ и только потом из XYZ в Lab. Оба преобразования требуют значительных вычислительных ресурсов, что создает узкое место для всего редактора. Для решения проблемы мы перешли на технологию 3D Lookup Table.

Основная концепция чрезвычайно проста. 3D LUT — это трехмерная таблица, в которой хранятся соответствующие входные и выходные значения цвета. Для любого входного значения в одной цветовой модели мы можем однозначно определить соответствующий вывод другой модели. Работает довольно быстро!

Лаборатория 3D ЛУТ

Такая схема организации конвейера оказалась эффективной, но, конечно, огромный мир Android-устройств внес дополнительные проблемы. К таким проблемам можно отнести банальную нехватку видеопамяти и невероятно низкую производительность на некоторых устройствах до жестких ограничений на количество инструкций, доступных в одном шейдере для некоторых GPU, результатом чего является не компилируемый шейдер цветокоррекции. Даже если проблемы минимального объема видеопамяти и низкой производительности можно было решить за счет понижения разрешения рендеринга на слабых устройствах, то вопрос с количеством инструкций не так просто решается. Нам нужно было научиться разбивать шейдер цветокоррекции на части динамически и только тогда, когда это необходимо, поскольку каждый дополнительный шаг в конвейере снижает производительность.

Что дальше?

После выпуска версии 1.0 мы решили добавить больше возможностей редактирования, поэтому мы включили в редактор популярный инструмент фотографов Tone Curve. Используя кривые в приложении, можно регулировать яркость пикселей в определенных диапазонах RGB. В этом случае значения пикселей изменяются в соответствии с формой кривой, которую пользователь видит на экране.

Редактирование с помощью кривых Snapster

Введение кривых помогло оптимизировать некоторые основные операции, что позволило применить кривые, яркость, контрастность, затухание, температуру и оттенок (оттенок) за один проход с использованием трех 1D-справочных таблиц.

Использование OpenGL требует жесткого ограничения размера выходного изображения, так как все текстуры должны храниться в видеопамяти. Некоторые Android-устройства в то время едва могли отрисовывать квадрат размером более 1500×1500 пикселей с помощью нашего конвейера, а нам хотелось еще большего. Но если с самим редактором мы ничего не могли сделать, то решение для рендеринга конечного продукта было найдено путем дублирования функционала конвейера на чистом C. Получившийся код умел хранить все промежуточные текстуры в обычной оперативной памяти и максимально использовал все возможности многоядерного процессора. Благодаря этому пользователи даже особо слабых устройств могли сохранять изображения в чрезвычайно высоком разрешении.

Фильтры в основном приложении

Выбор фильтра, ВКонтакте для Android

Когда пришло время обновить фоторедактор в основном приложении ВКонтакте для Android, мы решили использовать результаты, полученные от Snapster. На данный момент доступен тот же набор стандартных фильтров, а редактор позволяет переключать фильтры свайпом по изображению, при этом на экране могут одновременно отображаться два фильтра. При быстром свайпе все происходит моментально.

Таких результатов нельзя было бы достичь при использовании полного конвейера редактора Snapster, поскольку он слишком тяжелый и лучше подходит для более точной ретуши фотографий. Большую роль в реализации играет тот факт, что почти весь конвейер статичен. Если бы у Snapster была возможность изменять любой фильтр по желанию, основное приложение должно было бы обеспечивать возможность применения готовых фильтров. Это позволило нам использовать вышеупомянутую технологию 3D Lookup Table при применении фильтров. Вместо того, чтобы конвертировать из RGB в Lab, мы можем довольно быстро преобразовать цвет исходной фотографии в цвет фильтра.

Заключение

Нам удалось пройти путь от неуклюжих цветовых модификаций до мощного и гибкого инструмента для расширенного редактирования изображений. Теперь он не только работает, но и работает быстро. Snapster стал местом для экспериментов, которые мы можем считать успешными, так как продукт представляет собой классный редактор, которым можно гордиться.