| | from flask import Flask, render_template, request
|
| | from keras.models import load_model
|
| | from PIL import Image, ImageOps
|
| | import numpy as np
|
| | import io
|
| | import base64
|
| |
|
| | app = Flask(__name__)
|
| |
|
| |
|
| | model = load_model("keras_Model.h5", compile=False)
|
| |
|
| |
|
| | class_names = open("labels.txt", "r").readlines()
|
| |
|
| |
|
| | medications = {
|
| | "1 LUMPY SKIN": "Tips for Lumpy Skin Disease (LSD):"
|
| | "Isolation: Immediately isolate affected animals to prevent the spread of the disease to other livestock."
|
| | "Hygiene: Maintain a clean environment by disinfecting animal housing, feeding equipment, and water troughs regularly."
|
| | "Supportive Care: Ensure animals are well-fed with a nutritious diet to strengthen their immune systems. Providing fresh, clean water is essential."
|
| | "Reduce Stress: Keep the animals in a calm and stress-free environment. Stress can worsen disease symptoms."
|
| | "Monitor for Secondary Infections: Keep an eye on skin lesions and prevent further infection by cleaning any open wounds.",
|
| | "4 RINGWORM": "Management Tips for Ringworm:"
|
| | "Isolate Infected Animals to prevent spread."
|
| | "Maintain Cleanliness by changing bedding and disinfecting equipment."
|
| | "Improve Nutrition with a balanced diet and supplements like zinc and vitamin A."
|
| | "Use Topical Antifungal Ointments like clotrimazole or sulfur dips."
|
| | "Sun Exposure can help kill fungi."
|
| | "Groom Regularly to remove scabs and infected fur."
|
| | "Reduce Stress by providing a comfortable environment."
|
| | "Monitor Other Animals for signs and consult a vet if needed.",
|
| | "6 MASTITS": "Tips and management for Mastitis"
|
| | "Frequent Milking: Regular milking helps prevent milk build-up and reduces the chances of infection."
|
| | "Proper Hygiene: Clean the udder and teat before and after milking to prevent bacterial entry. Use sanitized towels and gloves."
|
| | "Dry Cow Therapy: After the lactating period, administer dry cow therapy to prevent mastitis and keep the udder healthy."
|
| | "Diet Management: Ensure a balanced nutrition with adequate amounts of vitamins and minerals to maintain good udder health."
|
| | "Massaging: Gently massage the udder to improve circulation and promote milk flow, which can help reduce the risk of mastitis.",
|
| | "3 SHEEP SCABIES": "Tips for Sheep Scabies (For Mouth Area)"
|
| | "Keep Sheep Clean: Regularly bathe the sheep in mild antiseptic solutions to help remove mites from the skin."
|
| | "Maintain Bedding: Change bedding frequently to prevent mite infestations. Clean the stalls with a disinfectant to kill any remaining mites."
|
| | "Improve Nutrition: Provide a balanced diet with minerals and vitamins that help strengthen the immune system and promote skin healing."
|
| | "Reduce Stress: Avoid overcrowding, and provide adequate space, ventilation, and quiet surroundings to reduce stress, which can worsen scabies."
|
| | "Skin Care: Apply soothing oils like neem oil or coconut oil to the affected areas, especially around the mouth, to help calm irritation and moisturize the skin."
|
| | "Monitor and Isolate: Isolate any affected animals to prevent the spread of the disease to healthy sheep.",
|
| | "10 GREASY DISEASE": "Prevention and Management Tips for greasy disease:"
|
| | "Clean and Dry Conditions: Keep pens and bedding dry to prevent bacterial growth."
|
| | "Isolation: Separate infected pigs to avoid spreading."
|
| | "Boost Immunity: Provide a balanced diet with vitamins A, E and omega-3 fatty acids."
|
| | "Skin Care: Clean affected areas with antiseptic and apply antibacterial ointments."
|
| | "Herbal Remedies: Use neem oil and turmeric paste for their antibacterial properties."
|
| | "Hydration: Ensure access to fresh, clean water."
|
| | "Monitor: Watch for early signs and isolate any affected animals."
|
| | }
|
| |
|
| | @app.route("/", methods=["GET", "POST"])
|
| | def index():
|
| | prediction = None
|
| | confidence = None
|
| | medication = None
|
| | img_data = None
|
| | if request.method == "POST":
|
| |
|
| | if "file" not in request.files:
|
| | return render_template("s3.html", error="No file part")
|
| |
|
| | file = request.files["file"]
|
| | if file.filename == "":
|
| | return render_template("s3.html", error="No selected file")
|
| |
|
| | if file:
|
| |
|
| | image = Image.open(file).convert("RGB")
|
| |
|
| |
|
| | size = (224, 224)
|
| | image = ImageOps.fit(image, size, Image.Resampling.LANCZOS)
|
| |
|
| |
|
| | image_array = np.asarray(image)
|
| | normalized_image_array = (image_array.astype(np.float32) / 127.5) - 1
|
| |
|
| |
|
| | data = np.ndarray(shape=(1, 224, 224, 3), dtype=np.float32)
|
| | data[0] = normalized_image_array
|
| |
|
| |
|
| | prediction = model.predict(data)
|
| | index = np.argmax(prediction)
|
| | class_name = class_names[index].strip()
|
| | confidence_score = prediction[0][index]
|
| |
|
| |
|
| | print(f"Predicted class: {class_name}")
|
| | print(f"Confidence score: {confidence_score}")
|
| |
|
| |
|
| | medication = medications.get(class_name, None)
|
| |
|
| |
|
| | if medication:
|
| | print(f"Suggested medication: {medication}")
|
| | else:
|
| | print("No medication suggestion available.")
|
| |
|
| |
|
| | img_byte_array = io.BytesIO()
|
| | image.save(img_byte_array, format="PNG")
|
| | img_data = base64.b64encode(img_byte_array.getvalue()).decode("utf-8")
|
| |
|
| | return render_template("s3.html", prediction=class_name, confidence=confidence_score, medication=medication, img_data=img_data)
|
| |
|
| | return render_template("s3.html", prediction=prediction, confidence=confidence, medication=medication, img_data=img_data)
|
| |
|
| | if __name__ == "__main__":
|
| | app.run(debug=True)
|
| |
|