Форум программистов, компьютерный форум CyberForum.ru

Objective-C

Войти
Регистрация
Восстановить пароль
 
ZenMasterBeat
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 5
#1

Вырезание фона на фотографии с использованием GPUimage - Objective-C

16.12.2014, 11:09. Просмотров 651. Ответов 6
Метки нет (Все метки)

Добрый день. Подскажите пожалуйста как можно вырезать фон у фотографии в приложении? Предполагается что фон будет однородный.
Я думал использовать для этого GPUimage. И вообще можно ли сделать это с помощью этой библиотеке? Я находил в AppStore приложения с таким функционалом(вот например: https://itunes.apple...d335709058?mt=8), значит решение этой задачи уже найдено.

Если у кого-то есть опыт разработки подобных приложений, поделитесь пожалуйста!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
16.12.2014, 11:31     Вырезание фона на фотографии с использованием GPUimage #2
GPUImage не поддерживает то, что вы хотите из коробки(Ответ автора GPUImage)
Но если вы разберетесь с математикой, лежащей в основе того, что вы хотите - вы сможете сделать это используя эти GPUImage.
ZenMasterBeat
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 5
16.12.2014, 12:19  [ТС]     Вырезание фона на фотографии с использованием GPUimage #3
Хорошо. Если есть идеи как это можно сделать, поделитесь пожалуйста!
zulkis
681 / 608 / 38
Регистрация: 13.01.2011
Сообщений: 1,724
16.12.2014, 12:27     Вырезание фона на фотографии с использованием GPUimage #4
А вам в каких целях? Сугубо ради интереса?
ZenMasterBeat
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 5
16.12.2014, 12:35  [ТС]     Вырезание фона на фотографии с использованием GPUimage #5
Нет. Это рабочее задание. Нужно написать приложение вот с таким функционалом: https://itunes.apple.com/ru/app/styl...335709058?mt=8
вот еще видео с демонстрацией: http://www.stylebookapp.com/demos.html

Проблема в том что я работаю ios разработчиком 2 недели.)) И это первое боевое задание(до этого делал тестовое).
Поэтому буду очень благодарен за подробные ответы.
glvrzzz
95 / 71 / 12
Регистрация: 12.12.2012
Сообщений: 214
17.12.2014, 07:12     Вырезание фона на фотографии с использованием GPUimage #6
В теории я бы сделал как-то так:
1. ищем примерный цвет фона либо как преобладающий цвет на картинке, либо как цвет по краям картинки, либо как-то еще.
2. выпиливаем этот цвет с исходной картинки с определенным допуском (считать думаю лучше все в HSB)

Если говорить о GPUImage и обработке в реальном времени и если у вас на светлом фоне более темные предметы, то можно попробовать фильтры threshold - после применения получаем картинку, где белое - фон, темное - предмет, инвертируем ее и домножаем на нее альфу исходной картинки. Может получиться не очень, но попробовать наверно стоит.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.12.2014, 16:23     Вырезание фона на фотографии с использованием GPUimage
Еще ссылки по теме:

1С Битрикс Скрытый опрос по фотографии. Анонимный комментарий для фотографии
Matlab Вырезание цветового дополнения
Objective-C Изменение TextField в CollectionView с использованием биндов
HTML, CSS Вырезание цвета фона элемента
Objective-C Introduce page с использованием SpriteKit

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
ZenMasterBeat
0 / 0 / 0
Регистрация: 16.12.2014
Сообщений: 5
17.12.2014, 16:23  [ТС]     Вырезание фона на фотографии с использованием GPUimage #7
Хорошо. 1 пункт выполнен. Нашел цвет фона.
Теперь чтоб убрать этот цвет с картинки нужно создать маску, как я понимаю?
Для этого я нашел метод
Objective-C
1
CGImageCreateWithMaskingColors
.

Но он возвращает nil.
Objective-C
1
2
const CGFloat colorMasking[6] = {124, 255,  68, 222, 0, 165};
   CGImageRef imageRef = CGImageCreateWithMaskingColors(myImage.CGImage, colorMasking);
Если imageRef вывести в консоль, будет nil.

Я в правильном направлении иду подскажите пожалуйста?
Yandex
Объявления
17.12.2014, 16:23     Вырезание фона на фотографии с использованием GPUimage
Ответ Создать тему
Опции темы

Текущее время: 16:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru