Python как Backend и HTML в качестве интерфейса

Niranjan kulkarni спросил: 28 апреля 2018 в 08:33 в: javascript

Я создаю простое веб-приложение, использующее HTML и Python для отображения изображения на холсте. Кроме того, я использую флеш-фреймворк для него. Where Image загружается из HTML и обрабатывается в Opencv (Python), а затем отображается на холсте HTML, что я сделал до сих пор, это только загруженное изображение. Но я не мог отображать на холсте.

вот код CSS и HTML

p {
    font-family: verdana;
    font-size: 20px;
}
h2 {
    margin-left: 20px;
    text-align: center;
}

<!DOCTYPE html>
<html>
    <head>
        <link rel="stylesheet" type="text/css" href="static/test.css">
        <title>
            CV - Rogier
        </title>
    </head>
    <body>
        <h3>
            Study
        </h3>
        <p>
            <form action="/hello" method="post">
         		Asset Tag:<br>
         		<input type = "file" id = "Image">	
         		<button onclick="myFunction()">Try it</button>
				<script>
				function myFunction() {
    			var x = document.getElementById("Image");
    			x.disabled = true;
				}
				</script>
				<input type="submit" value="Submit">
            </form>
        </p>       
        <canvas id="myCanvas" width="640" height="400" style="border:1px solid #000000;">
</canvas>   
<script>
var n = document.getElementById("Image")
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
ctx.font = "30px Arial";
ctx.fillText(n, 10, 50);
</script>        
    </body>
</html>

И код Python

from flask import Flask, render_template, request
import cv2app = Flask(__name__)@app.route('/')
def index():
    return render_template('test.html')@app.route('/hello', methods=['GET','POST'])
def hello():
        if request.method == 'POST':
            image = request.form['Image']
            get_image = cv2.imread(image,0)
            return cv2.imshow(get_image)
        else:
            return render_template('test.html')if __name__ == '__main__':
    app.run(host = 'localhost', port = 3000, debug=True)

скажите, пожалуйста, что мне не хватает и что не так! Благодаря

1 ответ

Domenik Reitzner ответил: 28 апреля 2018 в 12:52

Отправьте свое изображение с помощью FileReader API (readAsDataURL).

Напишите свое изображение в файл с помощью python (остерегайтесь кодировки base64)

Затем верните Json with Flask (либо ошибка, либо успех)

Отображать изображение или сообщение об ошибке в зависимости от результата с сервера.

Надеюсь, этого достаточно. Счастливое кодирование

Niranjan kulkarni ответил: 29 апреля 2018 в 11:28
Хорошо, я сделаю это.
Domenik Reitzner ответил: 29 апреля 2018 в 11:40
Пожалуйста, подумайте над тем, чтобы отметить этот вопрос в соответствии с ответом.