Feature #904 » image_processing.py
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 |
- « Previous
- 1
- 2
- 3
- 4
- Next »