fruk19's picture
Update app.py
b8efc2b verified
import gradio as gr
import pandas as pd
from image_call import (create_image_ndvi,
create_image_ndwi,
create_image_ndmi,
create_image_nddi,
create_image_savi,
date_create,
load_and_process_file,
filter_latest_date,
create_image_from_coordinates)
import numpy as np
from PIL import Image
import tensorflow as tf
# โหลดโมเดล
loaded_model = tf.keras.models.load_model('combind_model.h5')
def process_input(file):
df_use = load_and_process_file(file)
date_use = filter_latest_date(df_use, date_column='acq_date')
hotspot_array=create_image_from_coordinates(filter_latest_date(df_use, date_column='acq_date'))
date_response= date_create(str(date_use["acq_date"][0].date()))
start_date,stop_date = date_response[0],date_response[1]
ndvi_array,image_ndvi_array = create_image_ndvi(start_date,stop_date)
ndwi_array,image_ndwi_array = create_image_ndwi(start_date,stop_date)
ndmi_array,image_ndmi_array = create_image_ndmi(start_date,stop_date)
nddi_array,image_nddi_array = create_image_nddi(start_date,stop_date)
savi_array,image_savi_array = create_image_savi(start_date,stop_date)
model_input_array = [ndvi_array,ndwi_array,ndmi_array,nddi_array,savi_array,hotspot_array]
img_use = np.array(model_input_array)
np_img_use = np.transpose(img_use,(1,2,0))
input_to_model = np.expand_dims(np_img_use, axis=0)
predictions = loaded_model.predict(input_to_model)
predictions = np.squeeze(predictions).astype(np.uint8)
return_image = Image.fromarray(predictions).convert("RGB")
path_save_img = "test.png"
return_image.save(path_save_img)
return path_save_img,str(input_to_model.shape)
iface = gr.Interface(
fn=process_input, # ฟังก์ชันที่ใช้ในการอ่านและประมวลผลไฟล์
inputs="file", # อินพุตเป็นไฟล์
outputs=["image", "text"], # เอาท์พุตเป็นภาพและข้อความ
title="อ่านและแสดงไฟล์ CSV เป็นภาพและข้อความ",
description="อัปโหลดไฟล์ CSV และแสดงข้อมูลออกมาในรูปแบบของภาพและข้อความ",
)
# รัน Gradio interface
iface.launch(share=True)