I am trying to communicate the output of a rendered image to another process. How I am typically familiar with rendering images is to call:


But I was wondering if there was a way to not write the image to the disc and simply get a numpy array of the output.

This is a somewhat specific question, but I would appreciate any help!

  • 3
    $\begingroup$ related.. and still the same answer: blender.stackexchange.com/questions/2170/… $\endgroup$
    – zeffii
    Sep 19, 2015 at 20:34
  • $\begingroup$ Hi, sorry I forgot add that I am running the process in the background. The work around suggested there only applies when blender GUI mode is on. $\endgroup$
    – user16077
    Sep 23, 2015 at 21:34
  • $\begingroup$ multiple answers are given, the others all mean saving the file to disk then re-importing ( all easy to do via a script ) then read the pixels. Presently there is no way to get pixels directly from the 'unsaved' render result. -- exactly why this limitation exists isn't clear to me. (simply unimplemented?) $\endgroup$
    – zeffii
    Sep 24, 2015 at 5:32
  • $\begingroup$ Ok fair enough, this seems like a pretty expensive limitation for my application. Thanks for your help! $\endgroup$
    – user16077
    Sep 24, 2015 at 12:36
  • $\begingroup$ you might ask about this feature here: lists.blender.org/mailman/listinfo/bf-funboard --- it might be an arbitrary limitation with a simple solution. worth asking about $\endgroup$
    – zeffii
    Sep 24, 2015 at 12:40


Browse other questions tagged .