I found an interesting thing about your code. That is the add fusion is not fully adding.
In the utils.save_images, the output method is scipy.misc.imsave. This function's output will rescale images to use the full (0,255) range. (Which can be seen in https://docs.scipy.org/doc/scipy-1.1.0/scipy-ref-1.1.0.pdf). That is, the fused result of 'lytro-2-A.jpg' and 'lytro-2-B.jpg' have the range of [-4, 516], and scipy.misc.imsave will rescale to [0,255], which make "add" strategy is not really add operation.
Indeed, I have tried divided by 2 for image before send to densefuse net, the output is ok. And i have not tried average operation in your Strategy function. May be it will also work too.
In my work, i always use skimage.io.imsave or cv2.imwrite which could ensure that the output value is really what i want, however, those could not simply handle your data output. What do you think about that?
I found an interesting thing about your code. That is the add fusion is not fully adding. In the utils.save_images, the output method is scipy.misc.imsave. This function's output will rescale images to use the full (0,255) range. (Which can be seen in https://docs.scipy.org/doc/scipy-1.1.0/scipy-ref-1.1.0.pdf). That is, the fused result of 'lytro-2-A.jpg' and 'lytro-2-B.jpg' have the range of [-4, 516], and scipy.misc.imsave will rescale to [0,255], which make "add" strategy is not really add operation. Indeed, I have tried divided by 2 for image before send to densefuse net, the output is ok. And i have not tried average operation in your Strategy function. May be it will also work too. In my work, i always use skimage.io.imsave or cv2.imwrite which could ensure that the output value is really what i want, however, those could not simply handle your data output. What do you think about that?