Project

General

Profile

Feature #904 » image_processing.py

find the common part - Muting LI , 12/21/2023 01:24 PM

 
1
from PIL import Image, ImageChops
2
import numpy as np
3

    
4
def find_overlap(img1, img2):
5
    min_error = float('inf')
6
    overlap_width = 0
7

    
8
    img1_gray = img1.convert('L')
9
    img2_gray = img2.convert('L')
10

    
11
    for slice_width in range(1, min(img1.width, img2.width) // 2):
12
        img1_slice = img1_gray.crop((img1.width - slice_width, 0, img1.width, img1.height))
13
        img2_slice = img2_gray.crop((0, 0, slice_width, img2.height))
14

    
15
        diff = ImageChops.difference(img1_slice, img2_slice)
16
        error = np.sum(np.array(diff))
17

    
18
        if error < min_error:
19
            min_error = error
20
            overlap_width = slice_width
21

    
22
    return overlap_width
(4-4/4)