[14:57:16] <deepy> If I do ImageChops.difference(img1, img2) and save that, how would I apply that difference to img1 to get img2?
[15:03:35] <deepy> Actually, what I what I want to do is save the part that has changed between img1 and img2 so that I can turn img1 into img2 somewhere else
[15:45:41] <deepy> img2 is img2 with some stuff changed
[16:01:20] <wiredfool> deepy: you can't exactly. difference loses information
[16:01:30] <wiredfool> since it's the abs() of the difference
[16:02:15] <wiredfool> you'd need to do something like subtract, and then add, but you'd have to be careful of the scale and offsets.
[16:04:02] <deepy> So there's no easy shortcut to send what I need to make img1 into img2?
[16:04:48] <wiredfool> not if you use difference, since the sign of the difference has been lost
[16:05:07] <deepy> Oh I don't necessarily need difference, it was just the entry point I found
[16:05:26] <wiredfool> however, if you do something like ImageChops.subtract(im1,im2, 0.5, 128)
[16:05:47] <wiredfool> the result there is a 1/2 magnitude difference, offset to the middle of the range.
[16:06:10] <wiredfool> then ImageChops.add(result, im1,0.5, 128) should reconstrut it.
[16:06:51] <wiredfool> you may lose a touch of quality, since you're compressing a difference range of [-255,255] into [0,255], then reexpanding it
[16:07:29] <wiredfool> acactually, the add is wrong.
[16:07:30] <deepy> That gave me a completely white image
[16:08:08] <wiredfool> but there's a factor on im1 that's going to need to be applied as well
[16:09:22] <wiredfool> bah, scale's wrong too. and I don't see a way to just multiply by a constant
[16:10:26] <deepy> Couldn't I just save all the areas that have changed and then put that on top and save?
[16:11:04] <wiredfool> you could use difference as a mask, and then apply it using composite
[16:17:29] <deepy> I'm having some slight issues when it comes to understanding the documentation, I'm not entirely sure how to turn the difference to a mask