I'm trying to process an image iteratively. I have an order of operations, specifically a series of effects. This process loops until I'm satisfied with the result. To showcase how the process ends up at the final result I'm making a little video, snapping a frame after each iteration.
Just one of effects is a slight zoom, say 5%. I'm running into an issue where after a few frames an obvious cross/seam begins to appear at the center of the zoom point. If I bump up the zoom to 30% the issue is nonexistent. I think there's some type of rounding error building up over time.
I'm doing this in python with OpenCV. But, I just tested Photoshop and it produced the same result. So, it seems this may be an issue someone else has run into. Yet, I cannot find any solutions in my research. I'm not certain this can be fully mitigated. Any ideas would be greatly appreciated.
Note: This is an iterative process. I am running multiple effects on the image with each run of the process. The order of the operations matters. Therefore I need the previous frame to exist so I cannot simply re-reference the original image and scale to the appropriate size for any given frame.
Python example:
Photoshop example: