Ищу прогу для автоматического кропа картинок по размерам снятого объекта

Всего 18 сообщ. | Показаны 1 - 18
Ищу прогу для автоматического кропа картинок по размерам снятого объекта
Приветствую всех!

Задача:

Найти прогу, которая бы "следила" за папкой на компе и при появлении там изображений, обрезала бы с них ненужный фон вокруг, основываясь на перепаде яркости, и сохраняла рядом с измененным именем.

Изделия снимаются на белом фоне практически в засветку, т.е. определить границу изделия несложно. Конечно хотелось бы, чтобы там еще были настройки того, какой цвет считать фоном, насколько чувствительно реагировать на детали и какого размера должна быть минимальная область, которая "считается" за изделие. Возможность задать величину отступа от непосредственной границы объекта.

Подчеркну, что нужна НЕ ОБТРАВКА, а именно КРОП.

Пожалуйста, посоветуйте что-нибудь, можно даже платное.

Скрипты и экшны в фотошопе не катят, пока не вижу, как фотошоп можно заставить "следить" за какой-то папкой на компе.

Спасибо!
Re[Доктор Ктулху]:
Честно скажу, ни разу не имел дело с ним, но вполне возможно, что Adobe Graphics Server с этим справится. Там заложены достаточно серьезные возможности по автоматизированной обработке изображений. Так как он уже не продается, то можно рассмотреть Adobe Scene7, хотя это несколько иная вещь.
Re[Доктор Ктулху]:
Цитата:
от: Доктор Ктулху
Скрипты и экшны в фотошопе не катят, пока не вижу, как фотошоп можно заставить "следить" за какой-то папкой на компе.
А у вас винда? Потому что на маке точно можно заставить Automator следить за папкой и выполнять действия над новыми файлами, попадающими туда.
Re[Criminally Insane]:
Цитата:
от: Criminally Insane
А у вас винда? Потому что на маке точно можно заставить Automator следить за папкой и выполнять действия над новыми файлами, попадающими туда.


Винда, увы, был бы мак - я бы и не спрашивал :)
Re[Доктор Ктулху]:
В винде тоже не сложно написать скрипт, который будет следить за папкой и запускать кроп. Скрипт заставить выполнятся с необходимой периодичностью.
Re[Brd]:
Цитата:
от: Brd
В винде тоже не сложно написать скрипт, который будет следить за папкой и запускать кроп. Скрипт заставить выполнятся с необходимой периодичностью.


Так вопрос в том, что именно будет этот скрипт запускать.

собственно, кто будет заниматься автообрезкой по объекту...

А потом скрипт будет вылезать в консоли поверх всех окон, мне в силу специфики работы будет крайне мешать, сворачивать это, туда-сюда...
Re[Доктор Ктулху]:
Если найдете как запустить ФШоп на прослушку, вот экшн :))

Select Color Range (цвет)
Median в режиме QuickMask (20пкс убираем выделеные точки, блики)
Invert Selection
Expand Selection (отступ)
Image->Crop (обрежет по выделеному)
Re[EHS]:
Цитата:

от:EHS
Если найдете как запустить ФШоп на прослушку, вот экшн :))

Select Color Range (цвет)
Median в режиме QuickMask (20пкс убираем выделеные точки, блики)
Invert Selection
Expand Selection (отступ)
Image->Crop (обрежет по выделеному)

Подробнее


Ну это понятно, я сам таким пользуюсь, когда вручную работаю, но щас тут автоматизированы многие операции, а изделий очень много, и снимаю прямо в комп, поэтому нужно, чтобы без моего участия из папки бралось и туда же клалось...

Будем копать, как шоп натравить на папку :)
Re[Доктор Ктулху]:
Скрипт может запускаться без вылезания поверх чего бы то ни было. Вообще, мне кажется всё это можно
написать на JS для фотошоп. Другое дело, что удобнее специальный продукт иметь, да.
Re[Доктор Ктулху]:
ФШопный скрипт может открывать файлы:
var fileRef = File(app.path + "/Samples/Fish.psd")
var docRef = app.open(fileRef)

Нужно добавить конструкцию типа
if fileExist(File("/img_000"+ $i + ".jpg"))
{
...
}
$i++
Re[EHS]:
Цитата:

от:EHS
ФШопный скрипт может открывать файлы:
var fileRef = File(app.path + "/Samples/Fish.psd")
var docRef = app.open(fileRef)

Нужно добавить конструкцию типа
if fileExist(File("/img_000"+ $i + ".jpg"))
{
...
}
$i++

Подробнее


Т.е., как понимаю, этот условный переход как раз и должен "прозванивать" папку на предмет наличия файлов?
Re[Доктор Ктулху]:
Да. В цикле открываете все файлы и натравливаете на них предложенный выше скрипт. Отработанные файлы можно перемещать в отдельную папку, чтобы не мешались. Не знаю, насколько тут развиты средства работы с файловой системой, но можно скорее всего искать все файлы в папке и открывать по очереди найденные. Т.е. обходиться без шаблона имени.
Re[Brd]:
Цитата:

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

Подробнее


ВСЕМ СПАСИБО, проблема наполовину решена :)

Ставим AutoImager

Пишем батник:

__________________________________

:START

IF EXIST C:\Photo\*.jpg C:\AutoImager.exe /f C:\Photo\*.jpg /p Auto-Trim /atthresh 50 /oq100 /ora /pf C:\Photo\cropped\

GOTO START

__________________________________

Почему проблема решена наполовину?

Да потому что белые изделия на белом фоне режутся некорректно, как ни подбирай параметры, а любая мусоринка на фоне препятствует его обрезке и принимается за часть объекта... Нет в жизни счастья :)

Re[Доктор Ктулху]:
Option Explicit

Dim appRef
Dim docRef
Dim strFileName
Dim strFileDir
Dim strPath

Dim strFile
dim filesys
dim i

Set appRef = CreateObject( "Photoshop.Application" )
Set filesys = CreateObject("Scripting.FileSystemObject")
appRef.BringToFront
i=1

Do While (true)
strFileDir = "C:\"
strFileName = "IMG_" & i & ".jpg"


If filesys.FileExists( strFileDir & strFileName ) Then
Set docRef = appRef.Open( strFileDir & strFileName )
i=i+1
appRef.DoAction "Thumb1", "Default Actions"
Else
WScript.sleep 500
End If
If filesys.FileExists( strFileDir & "stop.txt" ) Then
MsgBox "Action canceled"
WScript.Quit
End If
Loop

strFileDir = "C:\" - папка за которой следит скрипт
strFileName = "IMG_" & i & ".jpg" - маска имени вайла (должен быть вида IMG_1.jpg а не IMG_001.jpg)
appRef.DoAction "Thumb1", "Default Actions" - Имя экшна и набор в котором он записан
WScript.sleep 500 - пауза между попытками (можно не трогать, систему не тормозит частыми проверками)
если в мониторящайся папке появляется файл "stop.txt" все нахрен останавливается :)
Код сохранить с расширением .vbs, запускать из любого места, ФШ сам откроется. У меня ФШ CS3 но должно быть совместимо.

Beta Version :))
Re[Доктор Ктулху]:
Ооо, благодарю! Посмотрим, что умеет в этом плане сам фотошоп, насколько у него гибкий алгоритм обрезки.
Re[Brd]:
Цитата:
от: Brd
Не знаю, насколько тут развиты средства работы с файловой системой, но можно скорее всего искать все файлы в папке и открывать по очереди найденные. Т.е. обходиться без шаблона имени.

все виндовозные инструменты поддержаны: создание, открытие, копирование, удаление, чтение текста. Можно вести какойнибудь лог с которым сверяться - новый/обработанный
Re[PKS]:
Лог незачем имхо. Проще обработанные складывать в отдельную папку. Или файлы по дате/времени отбирать. Только те, что появились после предыдущего запуска.
Re[Brd]:
На первое время можно добавить запрос какого номера ожидать фото.
в коде выше строку
i=1
меняем на
i = InputBox("Enter starting number")
Вы не авторизованы

Пожалуйста, авторизуйтесь, чтоб иметь доступ к полному функционалу сайта

Обратная связь

Здесь вы можете оставить свои контактные данные, чтобы мы могли связаться с вами.