Is Node.js suitable for the following scenario?

I am building a web server running on a Unix machine, the scenario is as follows:

A user can use his/her mobile phone to take a picture and upload to the server, then the server will run an image processing executable to process the image (to recognise the image)and return the result to the user's mobile phone.

Is node.js suitable for this scenario? Or other technologies are suitable?

My main concern is concurrency. The image processing executable is an application written in C++, I just want to call the app from node.js and return the result. However, node.js is not multi-threaded, right? It means the uploaded image must be processed one after the other. Is it possible to do in parallel?

Node.JS can use C extension to work in the background. (Many module like hiredis also compiled as C).

Node.JS is event-driven, that's also a reason why it's single thread. It's very suitable for concurrent task that do something with I/O or network latency because event it's single thread, it do not need to wait for first operation to be done before executing another one.

What Node.JS is not suit for is cpu intensive operation like image-processing and serving static files. You can scale node by fork a new process (node has cluster library to do that.) but you have to have a channel to communicate between each process yourself. Which I recommend redis to handle the central data.