2013-07-12 11 views
7

Używam NodeJS po stronie serwera i próbuję zrobić trochę zautomatyzowanego przetwarzania obrazu, aby określić "podstawowy kolor" obrazu.Czy przetwarzanie/analiza obrazu NodeJS jest możliwe?

Oto kroki, co chcę zrobić:

  1. Take obrazu (na zdalnym serwerze, więc przeszły przez z adresem URL) i uzyskać jego wymiary
  2. Wpisz wymiary do obliczenia centrum obrazu
  3. Weź 10px x 50px (WXL) prostokąt wokół punktu centralnego
  4. Get wartości RGB dla każdego z tych pikseli (500 na obrazie)
  5. wyjściowa średnia wartość pikseli

Wiem, że takie rzeczy są możliwe w PHP, ale chciałbym użyć węzła jest możliwe. Widziałem samouczki na temat korzystania z Node-imagick do podstawowego przetwarzania (jak zmiana rozmiaru i kadrowanie), ale nie wiem, od czego zacząć z bardziej zaawansowanych analiz takich jak to.

Pytania

(a) jest to możliwe, z węzła?

(b) Jakie biblioteki pozwolą mi to zrobić?

+4

Być może chcesz sprawdzić to odpowiedź: http://stackoverflow.com/a/10717592/480807 - UWAGA: Gorąco doradzać wyładowywanie tego typu działań na rzecz pracownika tle dowolnego typu siła węzła polega na asynchronicznej obsłudze wielu operacji blokowania IO, a nie blokowaniu/intensywnym procesom CPU (takim jak manipulowanie obrazem). Mając to na uwadze, GM wykonuje tę pracę z wątkami roboczymi (nie blokując pętli zdarzeń). –

+0

Interesujące. czy możesz wyjaśnić, co masz na myśli przez "pracownika w tle"? Przypuszczam, że mogę używać PHP do tego bez zbytniego wysiłku, właśnie budowałem wszystko inne w Node, więc chciałem zachować wszystko w tym samym miejscu. Ale na pewno chciałbym zrobić to, co jest najszybsze/najlżejsze obciążenie na moim serwerze! – Jascination

+4

Zazwyczaj w aplikacji internetowej masz "serwer (y) aplikacji", które mają za zadanie szybko obsłużyć większość żądań użytkowników. W przypadku bardzo obciążających procesor lub czasochłonnych operacji, takich jak długie żądania API, manipulowanie/przetwarzanie obrazu, obliczanie sekwencji fibonacci (żart), zadanie jest wprowadzane do "kolejki" zadań, które są następnie pobierane jeden po drugim z pracownik działający w tle i ukończony bez obciążania serwerów aplikacji. Sprawdź "biegacz" - dobrze mi to służyło. –

Odpowiedz

25

A: yes

B: gm

Oto kilka znaków, aby to na tyle długo stackoverflow ...

0

węzła ITK mogą być pomocne dla Ciebie.

Węzeł-ITK jest opakowaniem node.js, zbudowanym na bazie ITK. Został on zbudowany w celu ułatwienia noe.js korzystania z szybkiego prototypowania, edukacji i serwisów internetowych do przetwarzania obrazów medycznych.

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

Powiązane problemy