Нестандартная логическая операция с выделением

  • Автор темы Автор темы xseed
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

xseed

Участник
Топикстартер
Сообщения
118
Реакции
1
Добрый вечер, уважаемые любители и профи! Возникла такая проблема. Возможно ли в Photoshop сделать такую логическую операцию над двумя Selections (как на изображении)?
selection.png

То есть, если выделенные области пересекаются, выполняется операция объединения (Add), а если не пересекаются - то операция пересечения (Interselect).
Может в Photoshop существуют какие-нибудь дополнительные плагины для работы с Selections?
 
Нуууу... если выделять с Shitf - они объединяться. Если сливать слои, то они сольются. Не понятна цель сего действия.
 
а если не пересекаются - то операция пересечения (Interselect).
Гм, снова народ старается пересечь непересекаемое, объять необъятное, впихнуть невпихуемое...
При вдумчивом чтении процитированной фразы кэп поясняет, что пересечение не пересекаемых множеств - суть пустое множество
Топикстартеру я советовал бы хорошенько подумать о формализации поставленной задачи ибо она взаимопротиворечива по своей сути: ему надо при операции над двумя объеденениями непересекающихся множеств выделить пересекающиеся их части %8
Без разделения каждого множества на непересекающиеся части никак не обойтись
Вдобавок, непонятно, как он собирается задавать каждое из данных множеств - ладно, выделять можно с шифтом и альтом по одному - а как сразу по несколько объединенных частей для сравнения? У меня мозг лопается, когда я пытаюсь это себе представить... '%)'
 
а может автор скрипта жаждет?

ибо - если не так, то пост его полная глупость и чушь.
 
Для того, чтобы сделать скрипт, нужно понять полностью логику процесса.
 
Последнее редактирование модератором:
Да логика понятна, все что не пересекается - отсекается. Остальное объединяется.
Только непонятно почему два селекшена, когда их четыре. Ну или точнее непонятно в каком виде они подаются.
А что делать с полупрозрачностями?
 
Пожалуй, я перенесу в "Разговоры".
Господа математики смогут поглумиться над такой задачей вволю.
Шоп к этому не имеет никакого отношения, будучи программой с относительно нормальной логикой :)
Я почти уверен, что данное условие можно выполнить либо вручную, либо создав очень утилитарный скрипт.
 
я вот чего не пойму - а как такое выделение вообще сделать-то?
 
а никто не понимает))) потому так и весело.
 
ну просто по той же логике два первых круга сразу удалятся, так как они не пересекаются )
 
Ну, как вариант, два слоя с масками.
При сравнении слоев два нижних пересекающихся круга объединяются и используются.
Как-то так: peresechenie.jpg

Только это ли надо ТС?'%)'
 
Ну, это надо у гуру спрашивать aka @_MBK_, я же чисто логику процесса описал)))
 
Ну, это надо у гуру спрашивать aka @_MBK_, я же чисто логику процесса описал)))
Бррр, ничего не понял. Вот мне как раз и нужна логическая последовательность действий, как именно вы получили Layer2 на скриншоте? Какие действия в Photoshop нужно выполнить после Layer0,Layer1, чтобы получить Layer2, как у вас?
 
Вот я создаю слой с маской для белого фона через Layer-Reveal Selection, затем другой слой со второй маской для черного слоя, затем выделяю оба слоя и делаю Layer - Merge Layers с зажатым ALT. Получилось вот что
merged.png
А у Nicky как-то одноцветные объекты исчезли, а двухцветный в центре остался? Как он это сделал - ума не приложу... ластиком что-ли прошелся?

А нужно мне это все для создания небольшого скрипта для работы со сканированным текстом при RGB Selection на разных значениях Radius в фильтре Unsharp Mask. При низком значении Radius (~4) темные участки текста выделяется четче, но вместе с ним также выделяются много мелких точек фона. Если делать RGB Selection при более высоком значении Unsharp Radius (~24), то помимо темных, выделяются и более светлые участки текста (пересвеченые, выцветшие буквы), а фон практически не задействован:
http://screenshotcomparison.com/comparison/118785
Мне нужна такая логическая операция, которая при наложении Selections друг на друга выполняла бы объединение областей при условии их пересечения и удаление областей, которые не пересекались. Это позволило бы более плавно выделить текст с меньшим количеством мусора.

Т.е. при условии действия алгоритма, как на рисунке в моем первом комментарии, мы получим больше полезной информации о тексте в результирующем выделении.
 
Последнее редактирование:
Дело в том, что данную операцию, возможно было реализовать хотя бы скриптом, будь выделение в фотошопе векторным. Но оно по сути растровое, поэтому отделение несвязных выделенных областей уже практически нетривиальная задача. Ведь, вдобавок ко всему, каждая точка изображения не просто принадлежит или не пренадлежит выделению - она "принадлежит выделению на N%"
На самом деле надо другое - реализовать фильтр по размеру выделенного пятна - подобное можно реализовать, скажем, через медиану.
 
во-первых, двух selection не бывает.

во-вторых, contract/expand сделать селекшену, и все мелкие точки уберутся, фон можно почистить, не затронув большие объекты. это если уж моим плагином никак не воспользоваться.

ps это все те же сканы описаний игр для spectrum на матричном принтере?
 
Статус
Закрыто для дальнейших ответов.