Как стать автором
Обновить

Комментарии 16

Почему json с неочевидной структурой (если не запускать графопостроитель), а не функциональный DSL? Входы и выходы функций — изображения. В данном случае концепция узлов и ссылок размыта.

Ставилась ли цель получить нечто высокопроизводительное?
«Почему json с неочевидной структурой „
JSON был реализован потому что он первый попался в качестве формата.
Думаю легко можно переписать софт под другой более перспективный и функциональный формат.
На мой взгляд JSON достаточен для данного проекта.

“Ставилась ли цель получить нечто высокопроизводительное?»
Да, производительность ставилась на первое место, по этому и были реализованны функции из библиотек Numpy/Scipy/
/автор сам является профисеональным digital compositor/

проект: open source (любой может привнести в него изменения (если данные изменения улучшат функциональность проекта))
Какие результаты по производительности в сравнении с популярными решениями (OpenCV)?
C OpenCV я не сравнивал (хотя некторые функции думал реализовать в своем проекте (tracking))
Но все работает довольно быстро (можно протестировать это запустив python скрипт)
Возможно я дилетант, но если изображение разбивается на части и каждая обрабатывается отдельно — как обрабатываются крайние пиксели этих частей в случае фильтров, зависящих от соседних пикселей (которые в свою очередь попали в другую часть)?
Очень хороший вопрос!
Я с этим столкнулся… Холст (canvas) увеличивается на размер радиуса фильтра. Данный алгоритм пока не реализовыван в виду академичности данного проета
code.google.com/p/image-tools-core/ в этом проекте я разделял избражение на потоки, обрабатывал их и столкнулся с данной проблеммой.
«Возможно я дилетант,» думаю вы не дилетант.
Скажите, а вы в сторону GEGL смотрели? Там тоже графы, тайловая обработка, а теперь ещё и над поддержкой GPU работают.
Даже не смотрел в сторону библиотеки(GEGL, первый раз об ней слышу), я пытался решать рельные задачи (возникающие у меня в процессе работы). Опыт програмироавния = 2 месяца (month)
Неплохо было бы вынести обработку изображений на GPU — разбивка на тайлы для распараллеливания обработки — хорошо, но все равно, видеокарта будет быстрее.

Если Ваша система поддерживает WebGL, можете попробовать редактор webgl-filter и библиотеку glfx.js. Когда я в первый раз увидел ту штуку — был сильно удивлен скоростью работы фильтров, особенно swirl.
Подключить GPU не проблема. Это дело самой библиотеки GPU а не представленной программы. Если бы вы посмотрели исходники, то увидели бы как это (подключить GPU) просто сделать.
Думаю основня задача заключается не в том чем решать, а как решать.
По этому ядро и отделено. Что позволяет направить поток решений как в CPU так и в GPU.
«был сильно удивлен скоростью работы фильтров» надеюсь вы будете достаточно удивлены сколостью работы данного приложения
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории