Обработка изображений
Всем доброго дня.
У нас есть фотографии товаров. Хранятся в БД. Подавляющее большенство фотографий содержит белые края, порой очень даже большие. Появилась потребность взять и избавиться от них, но сделать это программным путем.
Мы сейчас используем скрипт на питоне который анализирует фото, если края белые, то обрезает их до 20-ти пикселей и полученное изображение сохраняет в новый файл.
Но есть две проблемы:
1) После вызова WinAPI::shellExecute() с параметром _waitForCompletion = true, проверяем наличие созданного файла и его нет. Если поставить задержку 700-900 милисекунд, то файл появляется. Т.е Ах получила отклик что выполнение закончилось, идет дальше по коду, а файла нет.
Мы думаем что после выполнения скрипта сборщик мусора производит свои манипуляции и только в этот момент происходит окончательная запись в файл. Может можно его как-то заставить мгновенно сохранять?
2) Фотографии хранятся в разных форматах (jpg и png). Скрипт преобразовывает png в jpg, при этом на фото появляются шумы.
Кто-нибудь сталкивался с подобной проблемой? Если да то как её решали? Либо у вас какой-нибудь другой способ?
P.S. Чукча не Python-щик)
|