Example #1
0
def upload_file():
    if flask.request.method == 'GET':
        url = flask.request.args.get("url")
        img = load_image_url(url)
        tensor = transform_image(img)
        length_digit, output_number = get_prediction(tensor)

    else:
        img_bytes = flask.request.files['file'].read()
        tensor = transform_image(img_bytes)
        length_digit, output_number = get_prediction(tensor)
        # print(length_digit, output_number)

    data = {'prediction': output_number, 'Length': str(length_digit)}
    return flask.jsonify(data)
Example #2
0
def fileUpload():
    target = os.path.join(UPLOAD_FOLDER, 'test_docs')
    if not os.path.isdir(target):
        os.mkdir(target)
    logger.info("welcome to upload`")
    file = request.files['file']
    filename = secure_filename(file.filename)
    destination = "/".join([target, filename])
    file.save(destination)
    #session['uploadFilePath']=destination

    img = Image.open('./uploads/test_docs/img1.jpeg')
    tensor = transform_image(img)
    prediction = get_prediction(tensor)
    predicted_idx = str(prediction.item())
    print(predicted_idx)

    data = {
        'prediction': predicted_idx,
        'class_name': class_index_name[predicted_idx]
    }
    response = make_response(jsonify(data))

    # Add Access-Control-Allow-Origin header to allow cross-site request
    response.headers[
        'Access-Control-Allow-Origin'] = 'http://ec2-18-217-62-181.us-east-2.compute.amazonaws.com:3000'

    return response
Example #3
0
def predict():
    if request.method == "POST":
        file = request.files.get('file')
        if file is None or file.filename == "":
            return jsonify({'error': 'no file'})
        if not allowed_file(file.filename):
            return jsonify({'error': 'format not supported'})

        try:
            img_bytes = file.read()
            tensor = transform_image(img_bytes)
            prediction = get_prediction(tensor)
            data = {
                'prediction': prediction.item(),
                'class_name': str(prediction.item())
            }
            return jsonify(data)
        except:
            return jsonify({'error': 'error during prediction'})

    # 1. load image
    # 2. image -> tensor
    # 3. prediction
    # 4. return json
    return jsonify({'result': 1})
Example #4
0
def predict():
    if request.method == 'POST':
        file = request.files.get('file')
        if file is None or file.filename == "":
            return jsonify({'error': 'no hay archivo'})
        if not allowed_file(file.filename):
            return jsonify({'error': 'formato no soportado'})

        try:
            img_bytes = file.read()
            tensor = transform_image(img_bytes)
            prediction = get_prediction(tensor)
            data = {'prediction': prediction.item(), 'class_name': str(prediction.item())}
            return jsonify(data)
        except:
            return jsonify({'error': 'error durante la predicción'})
Example #5
0
def upload_pred():
    if request.method == "POST":
        image_file = request.values['canvas']
        image = base64.b64decode(image_file)
        im_file = io.BytesIO(image)  # convert image to file-like object
        img = PIL.Image.open(im_file)
        filename = str(uuid.uuid4())
        img.save(UPLOAD_FOLDER + filename + ".png", "PNG")

        file = open(UPLOAD_FOLDER + filename + '.png', 'rb')
        #file = open("eight.png", 'rb')
        img_bytes = file.read()
        tensor = transform_image(img_bytes)
        pred = get_prediction(tensor)
        return render_template('index.html', prediction=str(pred.item()))
    return render_template('index.html')
def predict():
    if request.method == 'POST':
        file = request.files.get('image')
        if file is None or file.filename == "":
            return jsonify({'error': 'no file'})
        if not allowed_file(file.filename):
            return jsonify({'error': 'format not supported'})

        try:
            img_bytes = file.read()
            image = io.BytesIO(img_bytes)
            image = Image.open(image)
            tensor = transform_image(image)
            prediction = get_prediction(tensor)
            return render_template('rezultat.html', rez=prediction)
        except:
            return jsonify({'error': 'error during prediction'})
Example #7
0
def predict():
    if request.method == 'POST':
        print(request.files)
        file = request.files.read()

        if file is None or file.filename == "":
            return jsonify({'error': 'no file'})
        if not allowed_file(file.filename):
            return jsonify({'error': 'format not supported'})

        # try:
        # print(file.filename)
        print("reachd")
        img_bytes = file.read()
        tensor = transform_image(img_bytes)
        length_digit, output_number = get_prediction(tensor)
        print(length_digit, output_number)
        data = {'prediction': output_number, 'Length': str(length_digit)}
        return flask.render_template("index.html", data=data)
Example #8
0
def upload_files():
    uploaded_file = request.files['file']
    filename = uploaded_file.filename
    if filename != '':
        uploaded_file.save(os.path.join(app.config['UPLOAD_PATH'], filename))

    #img_bytes = uploaded_file.read()
    img = Image.open('./uploads/img1.jpeg')
    tensor = transform_image(img)
    prediction = get_prediction(tensor)
    predicted_idx = str(prediction.item())
    print(predicted_idx)

    data = {
        'prediction': predicted_idx,
        'class_name': class_index_name[predicted_idx]
    }
    return render_template('index.html',
                           file=uploaded_file.filename,
                           category=class_index_name[predicted_idx])
Example #9
0
def predict():
    if request.method == 'POST':
        f = request.files['file']
        if f is None or f.filename == "":
            return jsonify({'error': 'no file'})
        if not allowed_file(f.filename):
            return jsonify({'error': 'format not supported'})

        # saveLocation = f.filename
        # f.save(saveLocation)

        try:
            img_bytes = f.read()
            tensor = transform_imgae(img_bytes)
            prediction = get_prediction(tensor)
            # data = {'prediction':prediction.item(), 'class_name':str(prediction.item())}
            return render_template('inference.html',
                                   name=str(prediction.item()))

        except:
            return jsonify({'error': 'error during prediction'})
Example #10
0
def predict():

    class_names = ['MildDemented', 'ModerateDemented',
                   'NonDemented', 'VeryMildDemented']
                   
    if request.method == 'GET':
        return render_template('home.html', title='home')
    if request.method == 'POST':
        file = request.files['image']
        if file is None or file.filename == "":
            return jsonify({'error': 'no file'})
        if not allowed_file(file.filename):
            return jsonify({'error': 'format not supported'})

        try:

            # 1 load image
            img_bytes = file.read()
            pic = mpimg.imread(file)

            # 2 convert image -> tensor
            tensor = transforms_image(pic)

            # 3 prediction
            prediction = get_prediction(tensor)
            className = class_names[prediction.item()]

            # 4 return the result to JSON
            # data = {'prediction': prediction.item(), 'class_name': str(className)}
            data = {'class_name': str(className)}
            return render_template("result.html", value=data['class_name'])
            # return render_template("result.html", value = jsonify(data))
        except:
            return render_template("result.html", value = jsonify({'error': 'error during prediction'}))

    return jsonify({'result': 1})
def predict(image):
    image = Image.fromarray((image[:, :, 0]).astype(np.uint8))
    image = image.resize((28, 28))
    tensor = transform_image(image)
    prediction = get_prediction(tensor)
    return prediction