import os,io,time,random,requests,mimetypes
from datetime import datetime
from PIL import Image, ImageDraw, ImageFont
from config import HF_API_KEY
MODEL = "facebook/detr-resnet-50"
API = f"https://api-inference.huggingface.co/models/{MODEL}"
ALLOWED, MAX_MB = {".jpg",".jpeg",".png",".bmp",".gif",".webp",".tiff"}, 8
EMOJI = {"person":"๐ง","car":"๐","truck":"๐","bus":"๐","bicycle":"๐ฒ","motorcycle":"๐๏ธ","dog":"๐ถ","cat":"๐ฑ",
"bird":"๐ฆ","horse":"๐ด","sheep":"๐","cow":"๐ฎ","bear":"๐ป","giraffe":"๐ฆ","zebra":"๐ฆ","banana":"๐",
"apple":"๐","orange":"๐","pizza":"๐","broccoli":"๐ฅฆ","book":"๐",
"laptop":"๐ป","tv":"๐บ","bottle":"๐งด","cup":"๐ฅค"}
def font(sz=18):
for f in("DejavuSans.ttf","arial.ttf"):
try: return ImageFont.truetype(f,sz)
except:pass
return ImageFont.load_default()
def ask_image():
print("\n???? Pick an image (JPG/PNG/WEBP/BMP/TIFF _< 8MB) from this folder")
while True:
p = input("Image Path:").strip().strip("").strip("")
if not p or not os.path.isfile(): print("Nout found"); continue
if os.path.splitext(p)[1].lower() not in ALLOWED: print("Unsupported type:"); continue
if os.path.getsize(p)/(1024*1024)> MAX_MB: print("Too big (>8MB.)"); continue
try Image.open(p).verify()
except: print("Corrupted Image"); continue
return p