| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Алгоритмы > Распознать картинку на фоне |
| Автор: MoebiusCat 10.6.2011, 13:24 |
| Такая задача: есть фон из чередующихся вертикальных полос, белых и чёрных (возможно, с несильным шумом), белые полосы шириной p, чёрные - шириной q (оба числа изначально неизвестны). В каком-то месте на этот фон наложена (непрозрачная) grayscale картинка, скажем, фотография человека. Как её найти, желательно быстро? У меня есть следующее решение: Сделать гистограмму Понять из неё, кто такой белый и чёрный "Схлопнуть" картинку вертикально (каждый столбик переходит в число) Найти p и q Создать ещё одну картинку, которая состоит только из белых и чёрных полос (только фон) Вычесть её из исходной и сделать результату Фурье Там, где был фон, останутся, в основном, только высокие частоты (а если нет шума, то и вовсе ноль) , а там, где была картинка, там будут и низкие тоже Работает ли это? Есть ли решение лучше? |
| Автор: VictorTsaregorodtsev 10.6.2011, 16:34 |
| См работу Yamashita, Agata, Kaneko "Every Color Chromakey". Была в виде статьи в 2008 - но короткая, я её не видел (и поэтому насколько эта статья детальная - не знаю). А расширенная до главы в книге 2010г "Pattern Recognition, Recent Advances" - длинная и подробная. И начиналось всё как раз с "полосатого" фона и работы Yamashita, Kaneko, Matsushita, Miura "Region Extraction with Chromakey Using Stripe Backgrounds" 2004г. |
| Автор: Newbe 12.6.2011, 15:37 |
| Возможно немножко простоватый подход, но почему бы не попробовать просканировать изображение по вертикальным срезам(например, мат среднее по цвету всех пикселей)? Там где белые и черные полосы, число на срезе по X будет постоянным и одинаковым на всем протяжении изображения. Где будет "наложенный" участок, "среднее" будет иметь другое значение. |