2013-07-12 3 views
7

Я запускаю NodeJS на стороне сервера, и я пытаюсь выполнить небольшую автоматическую обработку изображений, чтобы определить «базовый цвет» изображения.Возможно ли обработка или анализ изображений NodeJS?

Вот шаги того, что я хочу сделать:

  1. Возьмите изображение (на удаленном сервере, прошли так через с URL) и получить его размеры
  2. Используйте размеры для расчета центр изображений
  3. Возьмите 10px 50px х (WXL) прямоугольник вокруг центральной точки
  4. Получить значение RGB для каждого из этих пикселей (500 на изображение)
  5. Выхода среднего значения пикселей

Я знаю, что такие вещи возможны на PHP, но я бы хотел использовать Node. Я видел учебники по использованию Node-imagick для базовой обработки (например, изменение размера и обрезка), но не знаю, с чего начать с более продвинутого анализа, подобного этому.

Вопросы

(а) Возможно ли это с узлом?

(b) Какие библиотеки позволят мне это сделать?

+4

Вы можете проверить этот ответ: http://stackoverflow.com/a/10717592/480807 - Примечание: Я бы настоятельно рекомендую разгружая этот тип действия фона рабочего любого типа поскольку сила Узла заключается в асинхронной обработке многочисленных операций блокировки ввода-вывода и НЕ блокирования/интенсивных операций CPU (таких как манипуляция изображениями). Говоря, что GM делает эту работу с рабочими потоками (не блокируя цикл событий) –

+0

Интересно. можете ли вы объяснить, что вы подразумеваете под «фоновым работником»? Я полагаю, что я могу использовать PHP для этого без лишних хлопот, я только что построил все остальное в узле, поэтому я хотел сохранить все это в одном месте. Но я бы хотел сделать то, что на вашем сервере будет самой быстрой/легкой загрузкой! – Jascination

+4

Как правило, в веб-приложении у вас есть «сервер (ы) приложений», предназначенный для быстрой обработки большинства запросов пользователей. Для очень интенсивных или трудоемких операций с процессорами, таких как длинные запросы API, обработка/обработка изображений, вычисление последовательности фибоначчи (шутка), задание вводится в «очередь» заданий, которые затем собираются один за другим с помощью фонового работника и завершена без обременения серверов приложений. Отъезд «gearman» - он хорошо меня обслужил. –

ответ

25

A: да

B: gm

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

0

узла ИТК может быть полезным для вас.

Node-ITK - это обертка node.js, которая построена поверх ITK. Он был создан для облегчения использования noe.js в быстром прототипировании, образовании и веб-сервисах для обработки медицинских изображений.

https://npmjs.org/package/node-itk

Смежные вопросы