Spaces:
Runtime error
Runtime error
import cv2 | |
from PIL import Image | |
def textover(im,txt): | |
inp=2 | |
hh=1 | |
hhh=45 | |
cnt = len(inp) | |
font_a = 30 | |
font_b = 40 | |
if cnt >0: | |
font_a = font_a + (cnt * 2) | |
font_b = font_b + (cnt * 2) | |
#hh = hh-int(cnt/2) | |
hhh = hhh+int(cnt/2) | |
w,h = im.size | |
print (w) | |
print (h) | |
font_x = (w/2) | |
font_y = h-hhh | |
out = toi.process(im,txt,font_fac=font_a,font_x=font_x,font_y=hh,font_col="#000000",font_op=255) | |
out = toi.process(out,"Contact Card",font_fac=font_b,font_x=font_x,font_y=font_y,font_col="#000000",font_op=255) | |
return out | |
def background_image(): | |
img_b = np.zeros([512,512,1],dtype=np.uint8) | |
img_b.fill(255) | |
img_b.save("background.png") | |
def custom_overlay(txt=None): | |
background_image() | |
background = Image.open("background.png") | |
x,y = background.size | |
if x > y: | |
aa=y | |
if y > x: | |
aa=x | |
if x==y: | |
aa=x | |
out = f'{txt}' | |
print (f'txt {out}') | |
qrm = qr.QRCode(box_size=10,error_correction=qr.constants.ERROR_CORRECT_H) | |
qrm.add_data(out) | |
qrm.make(fit=True) | |
img1 = qrm.make_image(fill_color=fill, back_color="white") | |
img1 = img1.resize((aa,aa)) | |
img1.save("im2.png") | |
image_bgr = cv2.imread('im2.png') | |
h, w, c = image_bgr.shape | |
image_bgra = np.concatenate([image_bgr, np.full((h, w, 1), 255, dtype=np.uint8)], axis=-1) | |
white = np.all(image_bgr == [255, 255, 255], axis=-1) | |
image_bgra[white, -1] = 0 | |
cv2.imwrite('result.png', image_bgra) | |
over_im = Image.open("result.png") | |
background.paste(over_im, (0, 0), over_im) | |
background.save("out_im.png") | |
return "out_im.png" |