Spaces:
Runtime error
Runtime error
Create overlay.py
Browse files- overlay.py +55 -0
overlay.py
ADDED
@@ -0,0 +1,55 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
import cv2
|
2 |
+
from PIL import Image
|
3 |
+
|
4 |
+
|
5 |
+
def textover(im,txt,inp):
|
6 |
+
hh=1
|
7 |
+
hhh=45
|
8 |
+
cnt = len(inp)
|
9 |
+
font_a = 30
|
10 |
+
font_b = 40
|
11 |
+
if cnt >0:
|
12 |
+
font_a = font_a + (cnt * 2)
|
13 |
+
font_b = font_b + (cnt * 2)
|
14 |
+
#hh = hh-int(cnt/2)
|
15 |
+
hhh = hhh+int(cnt/2)
|
16 |
+
w,h = im.size
|
17 |
+
print (w)
|
18 |
+
print (h)
|
19 |
+
font_x = (w/2)
|
20 |
+
font_y = h-hhh
|
21 |
+
out = toi.process(im,txt,font_fac=font_a,font_x=font_x,font_y=hh,font_col="#000000",font_op=255)
|
22 |
+
out = toi.process(out,"Contact Card",font_fac=font_b,font_x=font_x,font_y=font_y,font_col="#000000",font_op=255)
|
23 |
+
|
24 |
+
return out
|
25 |
+
def custom_overlay(txt=None):
|
26 |
+
background = Image.open("background.jpg")
|
27 |
+
x,y = background.size
|
28 |
+
if x > y:
|
29 |
+
aa=y
|
30 |
+
if y > x:
|
31 |
+
aa=x
|
32 |
+
if x==y:
|
33 |
+
aa=x
|
34 |
+
out = f'{txt}'
|
35 |
+
print (f'txt {out}')
|
36 |
+
qrm = qr.QRCode(box_size=10,error_correction=qr.constants.ERROR_CORRECT_H)
|
37 |
+
qrm.add_data(out)
|
38 |
+
qrm.make(fit=True)
|
39 |
+
img1 = qrm.make_image(fill_color=fill, back_color="white")
|
40 |
+
img1 = img1.resize((aa,aa))
|
41 |
+
img1.save("im2.png")
|
42 |
+
|
43 |
+
image_bgr = cv2.imread('im2.png')
|
44 |
+
|
45 |
+
h, w, c = image_bgr.shape
|
46 |
+
image_bgra = np.concatenate([image_bgr, np.full((h, w, 1), 255, dtype=np.uint8)], axis=-1)
|
47 |
+
white = np.all(image_bgr == [255, 255, 255], axis=-1)
|
48 |
+
image_bgra[white, -1] = 0
|
49 |
+
cv2.imwrite('result.png', image_bgra)
|
50 |
+
|
51 |
+
|
52 |
+
over_im = Image.open("result.png")
|
53 |
+
background.paste(over_im, (0, 0), over_im)
|
54 |
+
background.save("out_im.png")
|
55 |
+
return "out_im.png"
|