| import gradio as gr |
| from tensorflow.keras.utils import img_to_array,load_img |
| from keras.models import load_model |
| import numpy as np |
|
|
| |
| model_path = 'chilli.h5' |
| model = load_model(model_path) |
|
|
| def predict_disease(image_file, model, all_labels): |
|
|
| try: |
| |
| img = load_img(image_file, target_size=(224, 224)) |
| img_array = img_to_array(img) |
| img_array = np.expand_dims(img_array, axis=0) |
| img_array = img_array / 255.0 |
|
|
| |
| predictions = model.predict(img_array) |
| predicted_class = np.argmax(predictions[0]) |
|
|
| |
| predicted_label = all_labels[predicted_class] |
|
|
| |
|
|
| if predicted_label=='Chilli Healthy': |
| predicted_label = predicted_label = """<h3 align="center">Chilli Healthy</h3><br><br> |
| <center>No need use Pesticides</center>""" |
| elif predicted_label=='Chilli Yellowish': |
| predicted_label = """ |
| <style> |
| li{ |
| font-size: 15px; |
| margin-left: 90px; |
| margin-top: 15px; |
| margin-bottom: 15px; |
| } |
| h4{ |
| font-size: 17px; |
| margin-top: 15px; |
| } |
| h4:hover{ |
| cursor: pointer; |
| } |
| |
| h3:hover{ |
| cursor: pointer; |
| color: blue; |
| transform: scale(1.3); |
| } |
| .note{ |
| text-align: center; |
| font-size: 16px; |
| } |
| p{ |
| font-size: 13px; |
| text-align: center; |
| } |
| |
| </style> |
| <h3><center><b>Chilli Yellowish</b></center></h3> |
| <h4>PESTICIDES TO BE USED:</h4> |
| <ul> |
| <li>1. Chlorothalonil (Daconil)</li> |
| <li>2. Mancozeb (Dithane)</li> |
| <li>3. Copper oxychloride (Kocide)</li> |
| <li>4. Azoxystrobin (Heritage)</li> |
| <li>5. Pyraclostrobin (Cabrio)</li> |
| |
| |
| </ul> |
| <p class="note"><b>* * * IMPORTANT NOTE * * *</b></p> |
| <p>Be sure to follow local regulations and guidelines for application</p> |
| |
| |
| """ |
| elif predicted_label=='Chilli whitefly': |
| predicted_label = """ |
| <style> |
| li{ |
| font-size: 15px; |
| margin-left: 90px; |
| margin-top: 15px; |
| margin-bottom: 15px; |
| } |
| h4{ |
| font-size: 17px; |
| margin-top: 15px; |
| } |
| h4:hover{ |
| cursor: pointer; |
| } |
| |
| h3:hover{ |
| cursor: pointer; |
| color: blue; |
| transform: scale(1.3); |
| } |
| .note{ |
| text-align: center; |
| font-size: 16px; |
| } |
| p{ |
| font-size: 13px; |
| text-align: center; |
| } |
| |
| </style> |
| <h3><center><b>Chilli whitefly</b></center></h3> |
| <h4>PESTICIDES TO BE USED:</h4> |
| <ul> |
| <li>1. Copper oxychloride (Kocide)</li> |
| <li>2. Mancozeb(Dithane)</li> |
| <li>3. Azoxystrobin</li> |
| <li>4. Chlorothalonil</li> |
| |
| |
| </ul> |
| <p class="note"><b>* * * IMPORTANT NOTE * * *</b></p> |
| <p>Be sure to follow local regulations and guidelines for application</p> |
| |
| |
| """ |
| elif predicted_label=='Chilli leaf Spot': |
| predicted_label = """ |
| <style> |
| li{ |
| font-size: 15px; |
| margin-left: 90px; |
| margin-top: 15px; |
| margin-bottom: 15px; |
| } |
| h4{ |
| font-size: 17px; |
| margin-top: 15px; |
| } |
| h4:hover{ |
| cursor: pointer; |
| } |
| |
| h3:hover{ |
| cursor: pointer; |
| color: blue; |
| transform: scale(1.3); |
| } |
| .note{ |
| text-align: center; |
| font-size: 16px; |
| } |
| p{ |
| font-size: 13px; |
| text-align: center; |
| } |
| |
| </style> |
| <h3><center><b>Chilli leaf Spot</b></center></h3> |
| <h4>PESTICIDES TO BE USED:</h4> |
| <ul> |
| <li>1. Copper oxychloride (Kocide)</li> |
| <li>2. Mancozeb(Dithane)</li> |
| <li>3. Azoxystrobin</li> |
| <li>4. Chlorothalonil</li> |
| |
| |
| </ul> |
| <p class="note"><b>* * * IMPORTANT NOTE * * *</b></p> |
| <p>Be sure to follow local regulations and guidelines for application</p> |
| |
| |
| """ |
| elif predicted_label=='Chilli Leaf Curl': |
| predicted_label = """ |
| <style> |
| li{ |
| font-size: 15px; |
| margin-left: 90px; |
| margin-top: 15px; |
| margin-bottom: 15px; |
| } |
| h4{ |
| font-size: 17px; |
| margin-top: 15px; |
| } |
| h4:hover{ |
| cursor: pointer; |
| } |
| |
| h3:hover{ |
| cursor: pointer; |
| color: blue; |
| transform: scale(1.3); |
| } |
| .note{ |
| text-align: center; |
| font-size: 16px; |
| } |
| p{ |
| font-size: 13px; |
| text-align: center; |
| } |
| |
| </style> |
| <h3><center><b>Chilli Leaf Curl</b></center></h3> |
| <h4>PESTICIDES TO BE USED:</h4> |
| <ul> |
| <li>1. Copper oxychloride (Kocide)</li> |
| <li>2. Mancozeb(Dithane)</li> |
| <li>3. Azoxystrobin</li> |
| <li>4. Chlorothalonil</li> |
| |
| |
| </ul> |
| <p class="note"><b>* * * IMPORTANT NOTE * * *</b></p> |
| <p>Be sure to follow local regulations and guidelines for application</p> |
| |
| |
| """ |
|
|
|
|
| else: |
| predicted_label = """<h3 align="center">Choose Correct image</h3><br><br> |
| """ |
|
|
| return predicted_label |
|
|
|
|
| except Exception as e: |
| print(f"Error: {e}") |
| return None |
|
|
| |
| all_labels = [ |
| 'Chilli Yellowish', |
| 'Chilli whitefly', |
| 'Chilli leaf Spot','Chilli Leaf Curl', |
| 'Chilli Healthy' |
| ] |
|
|
| |
| def gradio_predict(image_file): |
| return predict_disease(image_file, model, all_labels) |
|
|
| |
| gr_interface = gr.Interface( |
| fn=gradio_predict, |
| inputs=gr.Image(type="filepath"), |
| outputs="html", |
| title="Chilli Disease Predictor", |
| description="Upload an image of a plant to predict the disease.", |
| ) |
|
|
| |
| gr_interface.launch(share=True) |