Example #1
0
def predict_plant_disease(request):
    try:
        if request.method == "POST":
            if request.body:
                print("HIT-Disease")
                request_data = request.data["plant_image"]
                header, image_data = request_data.split(';base64,')
                image_array, err_msg = image_converter.convert_image(
                    image_data)
                if err_msg == None:
                    image_array = np.array(image_array,
                                           dtype=np.float16) / 225.0
                    image_array = image_array.reshape((1, 256, 256, 3))
                    model_file = f"{BASE_DIR}/ml/cnn_model.pkl"
                    saved_classifier_model = pickle.load(open(
                        model_file, 'rb'))
                    prediction = saved_classifier_model.predict(image_array)
                    K.clear_session()
                    label_binarizer = pickle.load(
                        open(f"{BASE_DIR}/ml/label_transform.pkl", 'rb'))
                    ans = label_binarizer.inverse_transform(prediction)[0]

                    return_data = {"error": "0", "data": f"{ans}"}
                else:
                    return_data = {
                        "error": "4",
                        "message": f"Error : {err_msg}"
                    }
            else:
                return_data = {
                    "error": "1",
                    "message": "Request Body is empty",
                }
        elif request.method == "GET":
            return_data = {
                "error": "0",
                "message":
                "Plant Disease Recognition Api. Request a POST request"
            }

    except Exception as e:
        return_data = {
            "error": "3",
            "message": f"Error : {str(e)}",
        }
    print(return_data)
    return HttpResponse(json.dumps(return_data),
                        content_type='application/json; charset=utf-8')
Example #2
0
def answer_webp(update: Update, context: CallbackContext) -> None:
    try:
        id = str(update.message.from_user["id"])
    except:
        id = ""
    chat_id = str(update.message.chat.id)
    if (len(update.message.photo) > 0 and id == str(232424901)
            and chat_id == str(232424901)):
        photo = update.message.photo[-1]
        newFile = photo.get_file()
        temp_file_path = newFile.file_path
        extw = temp_file_path.split("/")
        fname = extw[len(extw) - 1]
        newFile.download(fname)
        sticker_fname = image_converter.convert_image(fname, "jpg")
        update.message.reply_sticker(open(sticker_fname, "rb"))
        os.remove(fname)
        os.remove(sticker_fname)
Example #3
0
def recognize_emotion(json_data):
    data = json.loads(json_data)
    image = data['image']
    up = urlparse.urlparse(image)
    head, data = up.path.split(',', 1)
    plain_data = data.decode("base64")

    if not os.path.exists(TMP_IMAGE_STORAGE):
        os.makedirs(TMP_IMAGE_STORAGE)

    with open(IMAGE_FILE, 'wb') as f:
        f.write(plain_data)

    cropped_face, face_detected = convert_image(TMP_IMAGE_STORAGE, IMAGE_FILE)
    if (face_detected):
        emotion = predict_emotion(cropped_face)
    else:
        emotion = "no_head"

    # remove temporarily saved images from TMP_IMAGE_STORAGE
    directory_cleanup(TMP_IMAGE_STORAGE)

    return emotion
__all__ = ['propagator', 'image_converter']

if __name__ == "__main__":
    import image_converter
    import propagator
    import numpy as np
    from sys import argv
    _object = image_converter.convert_image(argv[1], 'L')
    z = propagator.z_const(_object, float(argv[3]))

    hologram = propagator.holo_arr(_object, z, float(argv[4]), float(argv[4]),
                                   float(argv[5]))

    rhologram = propagator.reholo_arr(hologram, z, float(argv[4]),
                                      float(argv[4]), float(argv[5]))
    propagator.save_holo(hologram, argv[2], float(argv[4]))
    propagator.save_holo(rhologram, argv[2] + '.png', float(argv[4]),
                         'reconstruct')
    image_converter.holo_to_png(hologram, argv[2] + 'x.png')
Example #5
0
from image_converter import input_folder, convert_image
convert_image(input_folder())