Different output image when I set "use_borders = True" - in python script I try to split render process (by python script) to several tiles and after finishing render process, join sub-results into one image. I set use_borders to True and I set min_x, min_y, max_x, max_y:

bpy.context.scene.render.use_border = True
bpy.context.scene.render.use_crop_to_border = True
bpy.context.scene.image_settings.file_format = 'PNG'
bpy.context.scene.image_settings.color_mode ='RGBA'

bpy.context.scene.border_min_x = computed_min_x_for_tile
bpy.context.scene.border_min_y = computed_min_y_for_tile
bpy.context.scene.border_max_x = computed_max_x_for_tile
bpy.context.scene.border_max_y = computed_max_y_for_tile


But ... I get slightly different image than I expected.
I rendered the same scene in Blender GUI and via python script (splitting into tiles). Outputs are different. 
You can see tiles borders - in image generated by python script.

I tried to set another properties (before render process), for example:

bpy.context.scene.render.use_compositing = True
bpy.context.scene.render.use_save_buffers = True
bpy.context.scene.render.use_full_sample = True
bpy.context.scene.render.use_render_cache = True
bpy.context.scene.render.dither_intensity = 1.5


No one helped.

Do you have any idea how to reach the same outputs ?
What property should I set or what sequence of steps should I do ?

Image rendered in Blender GUI:


Image rendered by python script (split, render, join):
It is caused (probably) by compositor. If I render part of image, compositor change only this one piece (tile) - without affecting another tiles. After joining them, seams can be seen.

To reduce seams I will render scene by scene (without using compositor - I will set bpy.context.scene.render.use_compositing = False), tile by tile (saved to erx-multilayer format) and then join outputs. Then I will change inputs in compositor (render layers will be replaced by images).
I hope it will work.