I started out using a watch node, but I had much better results passing filenames and image buffers around via MQTT, which is surprisingly low overhead for the performance. I use a mix of a central MQTT broker to oversee all the pieces and their interactions and local MQTT brokers for what is in effect doing IPC and RPC with a hella of a lot less effort.
The very inner core of my system is C-code, shared memory, semaphores, threads, and UDP, running on a Beaglebone, but since I've discovered MQTT and node-red I'm adding additional advanced functionality with amazingly little work writing code. I'm a believer now!
The quad core of the Raspberry Pi2 B and up really plays well with this design strategy.