[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: обрезать фон изображения
Страницы: 1, 2
Undertaker
Здравствуйте, уважаемые форумчане.
Я никогда не работал с изображениями на php, но иногда жизнь заставляет
Задача: есть от сканированное изображение монетки на белом фоне (разумеется фон не исключительно белый, есть чёрные точки и чёрная полоска сбоку), монета может находиться в разных местах изображения (не могу же я постоянно пиксель в пиксель класть её в одно место)
Желательно что бы скрипт делал прозрачный фон для монеты и создавал обрезку без потери качества.
Это как то реализуется какими либо библиотеками на php или для работы с изображениями лучше выбрать другой язык?
Ткните носом в какую сторону копать

_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
AllesKlar
Напиши, для чего это?
Просто, если это одноразовые операции (10-50 монеток в базу загнать), то реализация данной задачи по времени превысит обработку изображений в граф. редакторе.

_____________
[продано копирайтерам]
inpost
Undertaker
Выше ответ качественный. Если хочешь высокого качества и 1 раз - делай в фотошопе.

_____________
Обучаю веб-программированию качественно и не дорого: http://school-php.com
Фрилансер, принимаю заказы: PHP, JS, AS (видео-чаты). Писать в ЛС (Личные сообщения на phpforum).
Undertaker
AllesKlar
Ну ведь не все мы всё делаем для себя, в этот раз-это задание начальства, конечно мне не влетит если я не осилю такую реализацию, однако если осилю, то это поднимет меня в глазах начальства=)
inpost
Да я и сам понимаю что фотошоп больше подходит для таких целей, но надо, что бы именно скрипт находил изображение и обрезал лишнее.
Если эта задача не для одной группы лиц, требующая нескольких лет разработки, то конечно я брошу это неблагодарное дело
Но если задача решаемая (пусть не в идеале как я описал), то мне бы было самому интересно поиграться с изображениями в php, на примере необходимой разработки

Мне нужен не сам скрипт, мне достаточно сказать какими методами можно это реализовать (разумеется скрипт-это в идеале, но не обязательно). Решил спросить у знающих людей, которые возможно сталкивались с этим

_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
walerus
Цитата
разумеется фон не исключительно белый, есть чёрные точки и чёрная полоска сбоку
и
Цитата
не могу же я постоянно пиксель в пиксель класть её в одно место
как то не срастается... Ладно, местоположение допустим разное, но "чистый лист" подложку под монету, можно найти без всяких точек, а тем более черной полосы...
walerus
Undertaker
Цитата
какими методами можно это реализовать
методами обработки изображения, найди границы монеты, это сделать не так сложно - определив, НЕ разрывающиеся границы, все остальное вокруг вырезать, потом найти центр фото, и воткнуть на "чистую" подложку нужного размера.
Undertaker
walerus
Даже совсем новый лист бумаги не может быть чисто белым, указал это что бы мне не сказали ищи цвет "#FFFFFF" и его обрезай.
Логика ясна а какими библиотеками это реализуется (ImageMagick или GB)
Я никогда с изображениями не работал и мне интересно чем и как?

_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
AllesKlar
walerus
Ты либо никогда не сканировал, либо не обрабатывал отсканированные изображения smile.gif
Не бывает чистого листа с однотонным цветом #fff
Будет не менее сотни различных оттенков белого.
Причем, чем выше разрешение сканирования, тем больше примесей будет. Отсканируешь на 1200px вообще коричневые волокна бумаги можешь увидить.

Undertaker
Цитата
в этот раз-это задание начальства
твое начальство даже не представляет сложность реализации данной фичи. Они просто торговые менеджеры, я так понимаю? Которые думают, что можно отсканировать фото машины и вращать ее в 3D ?

На реализацию данной фичи у тебя уйдет месяц, 100%. Следовательно твоему начальству это сядет в твою месячную зарплату. Оно им надо?

Алгоритм:
1. Берем пиксел в углу изображения, определяем его, как фон бумаги.
2. Определяем "погрешность" фона. Т.е. rgb(255, 255, 255) и rgb(255, 255, 250) - это один и тот же цвет. (алгоритм определения погрешности отдельная песня)
3. Сканируем изображение. Все пикселы, цвета которых попадают в цвет фоновых, перекрашиваем в одни, назначенный прозрачным.
4. Цвета, которые попадают в цвет фоновых, но находятся внутри монеты, перекрашиваем в другой "белый", который не является фоновым (иначе будут прозрачные дырки в монете.)

Исходя из алгоритма, побирай нужную библиотеку.

Задача несомненно интересная. Если бы было паралельное время, я б туда сходил, чтобы данной задачей заняться. К сожалению, нет возможности выкинуть из жизни месяц ради удовлетворения любопытсва smile.gif

_____________
[продано копирайтерам]
walerus
AllesKlar
Цитата
Ты либо никогда не сканировал, либо не обрабатывал отсканированные изображения
Как раз на оборот - "пересканировал" ))). Ставишь B & W сканирование, и ничего кроме черного или белого, никаких "коричневых" волокон и т.д., причем ТС не уточнил, результат ему какой нужен? ЧБ или цвет...
walerus
ТС опиши полностью ТЗ и приложи 2ва фото монеты, одно "оригинал", другое - "после обработки"... посмотрим что нужно сделать..
AllesKlar
walerus
Блин, ну понятно, что они какой-нидь нумизматовский шоп запилили.
Нужно картинки к артиклям выставлять.

Хотя, с черно-белым, это идея.
Делается 2 скана. Цветной и ч/б.
По ч/б отлавливаем монетку, составляем "карту пикселей", потом берем цветной и просто по этой "карте" режем ненужное.

Undertaker
В общем, пробуй. Как запилишь, выкладывай, мы тебе дружно руку пожмем smile.gif

_____________
[продано копирайтерам]
walerus
Цитата
мы тебе дружно руку пожмем
laugh.gif
Undertaker
walerus
Цветное изображение, очень высокий скан (как на мой взгляд)
Как запилить изображение с компа не знаю, поэтому вот
Качество сильно потерялось, но смысл понять можно
user posted image
user posted image

_____________
Из отчета службы безопасности:
... по поводу взлома китайцами сервера Пентагона:
1) Каждый китаец попробовал один пароль.
2) Каждый второй пароль был - maodzedun.
3) На 657983241-й попытке сервер согласился что у него пароль - maodzedun
AllesKlar
ну, вот, например http://php.net/manual/ru/imagick.blackthresholdimage.php

И сканировать лучше не на белом фоне, а на заведомо-которого-не-будет-в-монетах. Не будем изобретать велосипед, сканируй на ядовито-зеленом smile.gif

А дальше ужо дело техники (эксперементов, всмысле)

_____________
[продано копирайтерам]
walerus
Мне нравятся люди, которые читают только ту часть "пелены" текста, которая им нравится...
Фото результат должен быть в цвете или ЧБ устроит ???

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

Блин, не проще фотиком было снять?..., ну да не суть.

В общем все просто, определить "позицию" (координаты начала/конца) монеты, сделать по 2мм поля и запилить новую фотку, относительно получившихся размеров..., начало границ можно определить "по изменению цвета".
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.