File size: 2,523 Bytes
021c9ed
22b50e9
021c9ed
 
 
 
 
 
 
 
 
 
 
 
b8efc2b
021c9ed
b8efc2b
 
021c9ed
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b8efc2b
021c9ed
 
 
 
 
 
22b50e9
021c9ed
 
 
 
 
 
 
22b50e9
021c9ed
b8efc2b
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55

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)