import gradio as gr from util import download import os from dotenv import load_dotenv from photo_search import PhotoSearch from PIL import Image load_dotenv() tree_path = download.gdrive(os.getenv('TREE_GDRIVE_ID'), dir='temp') data_path = download.gdrive(os.getenv('DATA_GDRIVE_ID'), dir='temp') # tree_path= 'temp/trees-pocari.ann' # data_path = 'temp/drive_ids_pocari.json' ai = PhotoSearch(tree_path, data_path) htmlPref = 'Image Gallery' def search_photo(image): try: found_ids = ai.search(image) if len(found_ids) == 0: return '''

Foto Serupa Tidak Ditemukan, Tips:


- Gunakan foto terupdate, - Jika kamu punya foto saat lari, lebih baik gunakan foto itu, - Jangan menggunakan foto blur, - Jangan upload foto yang menggunakan aksesoris yang tidak kamu gunakan saat lari (semisal kacamata)

''' # result = f"{len(found_ids)} foto kamu berhasil ditemukan!" link_format = [f' ' for i, link in enumerate(found_ids)] return htmlPref + f'''

{len(found_ids)} Foto Ditemukan!

Klik foto untuk memperbesar atau download

''' except Exception as e: result = f"Gagal: {e}" return result gr_inputs = [ gr.Image(type='pil') ] gallery = gr.Gallery( label="Generated images", show_label=False, elem_id="gallery" ).style(columns=[2], rows=[2], object_fit="contain", height="auto") gr.Markdown('Upload Foto Wajah Kamu Ya (Pastikan hanya terdapat SATU wajah pada foto yang kamu upload)') iface = gr.Interface(fn=search_photo, inputs=gr_inputs, outputs="html") iface.launch()