Есть ли прога, отфильтровывающая с jpgОВ пикселы одного цвета?

Dimon65

Сабж.
Имеется ряд жепегов, нужно с них пакетно убрать (очистить/заменить белым) все пикселы заданного цвета, например, все пикселы цвета R=100, G=150, B=200
P.S. Может умеют и фотошопы/корелы, стыдно признаться - почти не знаком с ними пока

dangerr

Проги такой явно нету.
Скрипт на python-е с использованием PIL пишется за пару минут.

uncle17

что ж сегодня все с джпегами-то набигают.
А на выходе тебе что надо выдать? Тоже джпег? Ну так на нем эти пиксели уже белыми не будут

Dimon65

Проги такой явно нету.
Скрипт на python-е с использованием PIL пишется за пару минут.
Спасибо, увы не мой вариант. Для этого сначала надо питон выучить.
что ж сегодня все с джпегами-то набигают.
А на выходе тебе что надо выдать? Тоже джпег? Ну так на нем эти пиксели уже белыми не будут

Это скриншоты, потому и jpg. На выходе тоже. Не понял, почему не будут. В треде нуб :o

dangerr

Спасибо, увы не мой вариант. Для этого сначала надо питон выучить.
Зачем что-то учить?
Нагуглил пример использования библиотеки и поигрался с ним. Тебе нужно-то от силы дюжину строк кода написать.
Это скриншоты, потому и jpg.
Что-то я не вижу тут следствия. Как тёплое соотносится с мягким? Наоборот, для скриншотов JPEG не предназначен. Основное его использование - фотографии.
На выходе тоже. Не понял, почему не будут. В треде нуб
Алгоритм сжатия JPEG так устроен, что информация о точном цвете пикселя может и не сохраниться.

Dimon65

ОК. Попробую. Всем спасибо!
P.S. Если есть желающие подсказать еще чего-нибудь - тема открыта.

bestpilot8

Фотошоп с легкостью справится с твоей задачей, там есть инструменты для этого. Один — magic wand, другой — replace color. Можно и банальной заливкой, если ее настроить правильно.
Скриншоты только в png делай.

dangerr

Ну если на то пошло, то в GIMPе это тоже всё есть. Только ручками с каждой картинкой придётся поработать отдельно.

bestpilot8

Только ручками с каждой картинкой придётся поработать отдельно.
Зачем? :o В фотошопе всё автоматизируется (Actions).
Погуглил: даже в XnView есть replace color в batch processing.

dangerr

Ну... GIMP тоже скриптуется.
Но тогда проще таки скрипт с использованием PIL написать, имхо.

bestpilot8

Тебе — проще. Ты линуксоид, у тебя мозги набекрень. В определённых случаях даже мне проще, хотя я предпочитаю графические интерфейсы.
А есть очень многочисленная группа пользователей — пусть они для простоты понимания будут дизайнерами, — у них мозги в другую сторону набекрень. Им абстракции и скрипты — что китайский язык (надеюсь, kurogato это не читает :grin:). Зато они обладают художественным вкусом и круто рисуют, положим, — делают то, в чём рулит правое полушарие мозга.
Как вы, линуксоиды, не в состоянии понять восприятие других людей,
так и эти условные дизайнеры не в состоянии понять абстракции, необходимые для работы с консолью и скриптами.
(Ну понятно, что есть редкие исключения, но их очень немного.)
И вот таким юзерам гораздо проще с графическим интерфейсом, даже если через него определяются ровно те же самые вещи, что и в консольной команде.

YUAL

Мы понимаем. Но когда мне надо что-то нарисовать, я не пишу на форум "А как мне нарисовать сову?" Я иду к художнику и либо за деньги либо по дружбе либо за устоявшиеся относшения в духе "я тебе чиню винду, а ты мне рисуешь" прошу нарисовать то что мне нужно. Это называется разделение труда. Очень круто и прогрессивно.

bestpilot8

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

serega1604

>Алгоритм сжатия JPEG так устроен, что информация о точном цвете пикселя может и не сохраниться.
вообще-то стандарт JPEG предусматривает Lossless сжатие, только поделки всякие не поймут его.

Filan

вообще-то стандарт JPEG предусматривает Lossless сжатие, только поделки всякие не поймут его.
Врядли топикстартер об этом знает и уж тем более использует, если он так уверен, что JPEG предназначен для скриншотов.
К тому же твоё "только поделки всякие не поймут его" - это очень мягко сказано - вообще мало кто это умеет.

bestpilot8

вообще-то стандарт JPEG предусматривает Lossless сжатие, только поделки всякие не поймут его.
Typically, compressions using lossless operation mode can achieve around 2:1 compression ratio for color images.[3] This mode is quite popular in the medical imaging field, and defined as an option in DNG standard, but otherwise it is not very widely used because of complexity of doing arithmetics on 10, 12 or 14bpp values on typical embedded 32bit processor and a little resulting gain in space.
Как раз только в некоторых поделках он и используется, и нигде больше, судя по всему.

Dimon65

Врядли топикстартер об этом знает и уж тем более использует, если он так уверен, что JPEG предназначен для скриншотов.
В принципе да. Знаний не хватает).
Но если уж пошла такая тема, я не совсем верно понял недоумение Федечки по поводу наката вопросов с использованием JPGов. Пока не выяснились подробности, я думал, что это просто недоумение по поводу массового использования растров в графике. И говоря "JPG" я неудачно конкретизировал, что это растр, а не вектор.
Потом выяснилось, что это касалось только jpgов. Протупил и запутал всех остальных. Извиняюсь :)
No_Name - спасибо!

uncle17

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

serega1604

>Как раз только в некоторых поделках он и используется, и нигде больше, судя по всему.
типичная подмена понятий - "не поддерживается в ${моя любимая программа} => используется только в поделках"

bestpilot8

Ок, давай обопрёмся на факты: покажи мне JPEG lossless на каком-нибудь сайте, посещаемом широкой аудиторией. Желательно, чтобы оно там висело не в иллюстративных целях. Ну и оцени, сколько сайтов используют JPEG lossless и сколько — не используют.
Штука не в том, поддерживается ли оно теми программами, которые я использую. Штука в том, что эта часть стандарта просто не используется.
Имхо, если какой-то стандарт поддерживается лишь малой частью софта/железа — это «поддерживается несколькими поделками». А если наоборот, то «не поддерживается несколькими поделками».

PooH

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

serega1604

>Ок, давай обопрёмся на факты: покажи мне JPEG lossless на каком-нибудь сайте, посещаемом широкой аудиторией. Желательно, чтобы оно там висело не в иллюстративных целях. Ну и оцени, сколько сайтов используют JPEG lossless и сколько — не используют.
опять подмена понятий. не используется в WEB <> не используется.
>Имхо, если какой-то стандарт поддерживается лишь малой частью софта/железа — это «поддерживается несколькими поделками». А если наоборот, то «не поддерживается несколькими поделками».
слышал когда-нибудь про acid тесты? думаю что да. а созданы они были как раз для того, чтобы плохо поддерживаемые части стандарта привести к единому виду.

bestpilot8

опять подмена понятий.
Опять придираешься к словам. Web — это хороший пример того, что используется почти каждым пользователем компьютера сегодня. Кроме того, я тебя не просил приводить мне именно web-страницы. Ты мог бы сослаться на какой-нибудь форум или сайт, на котором в силу тематики используется JPEG lossless.
Назови мне сферы, где JPEG lossless хоть сколько-нибудь активно применяется. Вики упоминает весьма узкий спектр, что даёт основания говорить о поддержке «несколькими поделками».
Ты же лишь придираешься к моим высказываниям с точки зрения формальной логики, но не пытаешься привнести данных.

serega1604

>Назови мне сферы, где JPEG lossless хоть сколько-нибудь активно применяется. Вики упоминает весьма узкий спектр, что даёт основания говорить о поддержке «несколькими поделками».
я могу назвать как минимум два продукта, на 99% известные тебе, в которых эта поддержка есть, сойдет?

bestpilot8

я могу назвать как минимум два продукта, на 99% известные тебе, в которых эта поддержка есть, сойдет?
Не сойдёт. Этих продуктов может быть сколько угодно. Ты лучше сферы применения назови.
А то я тоже могу взять какой-нибудь малоиспользуемый специфический формат (например, видео) и пытаться гнобить софт (например, плееры), в которых он хреново поддерживается.
Но если он не используется, то отсутствие поддержки в mainstream-софте никого не волнует, особенно при наличии более эффективных форматов (в случае жопега это вполне себе верно: есть и JPEG-LS, и JPEG2000 с lossless-режимом).

serega1604

>Не сойдёт. Этих продуктов может быть сколько угодно. Ты лучше сферы применения назови.
такая же, как у остальных lossless форматов картинок общего назначения.
>А то я тоже могу взять какой-нибудь малоиспользуемый специфический формат (например, видео) и пытаться гнобить софт (например, плееры), в которых он хреново поддерживается.
ебать, jpeg - малоиспользуемый специфический формат оказывается, пойду пацанам расскажу.
>Но если он не используется, то отсутствие поддержки в mainstream-софте никого не волнует, особенно при наличии более эффективных форматов (в случае жопега это вполне себе верно: есть и JPEG-LS, и JPEG2000 с lossless-режимом).
что более распростаренено JPEG-LS/JPEG2000 или JPEG?
лично мне в жизни картинки закодированные в JPEG-LS/JPEG2000 встречается не чаще, чем закодированные JPEG в lossless режиме.

bestpilot8

Ты же сам завёл речь о JPEG lossless, так зачем ты теперь вырываешь слова из контекста?
ебать, jpeg - малоиспользуемый специфический формат оказывается, пойду пацанам расскажу.
JPEG lossless — это малоиспользуемый специфический формат, да.
что более распростаренено JPEG-LS/JPEG2000 или JPEG?
JPEG2000 много сильнее распространён, чем JPEG lossless. Поскольку JPEG2000 сразу был описан с lossless-режимом, то и поддержка у него получше, чем у JPEG lossless.
Но ты прав в том, что JPEG2000 тоже не особо-то распространён.
такая же, как у остальных lossless форматов картинок общего назначения.
Теория меня не интересует. Практическая сфера применения. Практическая.
Пример: DNG (в нём тоже бывает lossless-сжатие) чаще всего используется как raw-формат в ряде цифровых камер.
Вот примерно такой же нужен.

serega1604

>Ты же сам завёл речь о JPEG lossless, так зачем ты теперь вырываешь слова из контекста?
JPEG lossless - это не отдельный формат, а часть формата. многие поделки эту часть формата не реализуют, но от этого он не становится другим форматом. Если какой-то плеер/кодек не может воспроизвести по стандарту закодированное видео, хотя в нем будет написано, что он этот формат поддерживает, то я буду это плеер гнобить, да.
>JPEG2000 много сильнее распространён, чем JPEG lossless.
ты просишь привести тебе какие-то ссылки, но при этом сам выдаешь ничем не подтвержденную статистику => давай, до свидания.

bestpilot8

Если какой-то плеер/кодек не может воспроизвести по стандарту закодированное видео, хотя в нем будет написано, что он этот формат поддерживает, то я буду это плеер гнобить, да.
И гноби на здоровье, благо всем похуй. Далеко не всегда стандарты поддерживаются полностью.
JPEG lossless использует совершенно иной алгоритм, нежели JPEG lossy, так что я не особо понимаю твоих претензий.
ты просишь привести тебе какие-то ссылки, но при этом сам выдаешь ничем не подтвержденную статистику => давай, до свидания.
JPEG2000 поддерживается много каким софтом, в отличие от JPEG Lossless. Поддержку даже в браузеры встраивают.
Собственно, найти файлы jp2 в вебе не очень трудно, а вот JPEG lossless — не очень легко.

serega1604

>JPEG lossless использует совершенно иной алгоритм, нежели JPEG lossy, так что я не особо понимаю твоих претензий.
Like Lossless JPEG, the JPEG 2000 standard provides both lossless and lossy compression in a single compression architecture.
спасибо пожалуйста.
>Поддержку даже в браузеры встраивают.
ты не поверишь, JPEG Lossless - тоже.
>Собственно, найти файлы jp2 в вебе не очень трудно, а вот JPEG lossless — не очень легко.
просто jp2 я сумел найти, lossless - что-то не вышло, все больше отзывы и хауту, как их сделать и что мол получается круто и без потерь (было бы удивительно, если бы было иначе).

apl13

много вещей приходится делать руками через базовые инструменты
Скажи мне, что algorithmic language™ Scheme для тебя базовый инструмент! :4u:

dangerr

Ты линуксоид
Я не линуксоид. Уже не знаю какой раз об этом пишу...
Как вы, линуксоиды, не в состоянии понять восприятие других людей
И я лично вполне в состоянии понять таких людей. Мне тоже бывает лень думать и что-то изучать. Тем более в той области, которая для меня совершенно неизвестна.
Поэтому я предложил просто руками с каждой картинкой поработать через GUI. Если их не более пары десятков, то это вполне нормальный подход, с учётом времени, которое придётся затратить на изучение питона, гипма или фотошопа, чтобы их автоматизировать.
Но ты же сам про автоматизацию заговорил. Она без оперирования абстракциями уже не выйдет.

dangerr

вообще-то стандарт JPEG предусматривает Lossless сжатие, только поделки всякие не поймут его.
А есть у него какие-то преимущества по сравнению с png?

dangerr

на работе использую GIMP - до фотошопа имхо не дотягивает по функциональности (ну или я не нашел) и много вещей приходится делать руками через базовые инструменты
То есть инструмент для выделения пикселей по цвету и заливки выделения одним цветом ты там тоже не нашёл?
А вообще, если ты хочешь что-то найти, то надо читать документацию или гугл, а не использовать "метод научного тыка".
+ ебанутый интерфейс
Очень замечательное утверждение. Главное на него совершенно невозможно возразить независимо от того, насколько оно верно.

svetaslav212

Очень замечательное утверждение. Главное на него совершенно невозможно возразить независимо от того, насколько оно верно.
А в случае с GIMP оно верно на все 100%. :grin:

serega1604

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

dangerr

Тогда loosless JPEG имеет смысл... Хотя на практике не больше, чем какой-нибудь FLAC. Фотографии, как и музыку, в повседневной практике нет смысла сжимать совсем без потерь. Только в очень специфичных случаях разве что. Но я даже придумать таких случаев как-то не могу.

apl13

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

dangerr

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

spitfire

Слово "архивация" вам ни о чём не говорит?

dangerr

Слово "архивация" для меня лично применима только к файлам, а не физическим объектам.
Короче, я не понимаю значение фразы "архивация компакт-диска".

spitfire

А архивацию пачки файлов при помощи tar и gzip понимаешь?

dangerr

Очевидно.
К чему намёки? Прямо сказать нельзя?

spitfire

Для меня ничуть не очевидно, почему ты понимаешь сжатие без потерь произвольных файлов в архив, но отрицаешь эту необходимость для PCM'ов с компакт-диска.

dangerr

Я не говорю, что она совсем не нужна.
Но в повседневной практике, когда речь идёт о музыке, аудиодорожках к фильмам, записях разговоров и тому подобном, когда человеческое ухо не отличает lossless от lossy с достаточно высоким битрейтом, нет никаких разумных оснований использовать lossless.
Конечно, если у тебя какие-то специфичные цели и ты не просто слушать это собрался, но и как-то по-иному анализировать, то lossless может иметь смысл.
Оставить комментарий
Имя или ник:
Комментарий: