python画布加载图片的程序_将图像从HTML画布发送到flask python不工作

在尝试创建一个Flask应用时,作者遇到一个问题:从HTML画布获取图像,将其转换为数据URL,并通过Ajax发送到Python后端进行处理。在Python中,他们使用OpenCV读取base64解码后的图像,但图像处理代码未执行。JS函数在HTML加载时似乎没有响应,可能是Ajax URL或JS代码本身的问题。
摘要由CSDN通过智能技术生成

我正在尝试用HTML和JS制作一个flask应用程序。它从网络摄像头中获取图像,存储在HTML画布中,然后将画布转换为数据URL,并通过Ajax将其发送到flask。我使用base64来解码数据,并使用cv2 imdecode读取数据。

我遇到的问题是我的图像的python代码根本没有执行。我的网页加载,一切正常,但当我拍照时,什么都没有发生。

另外一件事是

console.log

当在flask中呈现HTML时,JS函数不起作用,所以我不知道JS代码是否有问题。

你能看看我的html和python代码,告诉我哪里出错了吗?我确信在Ajax的URL上应该调用的python函数不会被调用。

这是发送Ajax的JS:

//Function called on pressing a html button

function takePic() {

ctx.drawImage(video, 0, 0, canvas.width, canvas.height);//video is the video element in html which is recieving live data from webcam

var imgURL = canvas.toDataURL();

console.log(imgURL);

$.ajax({

type: "POST",

url: "http://url/take_pic", //I have doubt about this url, not sure if something specific must come before "/take_pic"

data: imgURL,

success: function(data) {

if (data.success) {

alert('Your file was successfully uploaded!');

} else {

alert('There was an error uploading your file!');

}

},

error: function(data) {

alert('There was an error uploading your file!');

}

}).done(function() {

console.log("Sent");

});

}

我对Ajax中的url参数有疑问,我认为在此之前必须有一些特定的内容

"/take_pic"

不仅仅是

"https://url"

.

这是我的巨蟒:

from flask import Flask,render_template,request

import numpy as np

import cv2

import re

import base64

import io

app = Flask(__name__,template_folder="flask templates")

@app.route('/')

def index():

return render_template('live webcam and capture.html')

@app.route('/take_pic',methods=["POST"])

def disp_pic():

data = request.data

encoded_data = data.split(',')[1]

nparr = np.fromstring(encoded_data.decode('base64'), np.uint8)

img = cv2.imdecode(nparr, cv2.IMREAD_COLOR)

cv2.imshow(img)

cv2.waitKey(0)

cv2.destroyAllWindows()

if __name__ == '__main__':

app.run(debug = True)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python 是一种编程语言,可以用来编写小程序。然而,Python 并不是一种小程序开发平台,因此你需要选择一个合适的平台来创建小程序。 如果你想要创建一个桌面小程序,可以使用 PyQT 或者 PyGTK 等 GUI 框架来实现。这些框架提供了丰富的图形化界面组件,可以让你轻松地创建出一个漂亮、易用的桌面小程序。 如果你想要创建一个 Web 小程序,可以使用 Django 或者 Flask 等 Web 框架来实现。这些框架提供了强大的 Web 开发功能,可以让你快速地创建出一个具有交互性和动态性的 Web 小程序。 无论你选择哪种平台,Python 都是一种非常适合小程序开发的编程语言,因为它易于学习、语法简洁、易于维护和扩展。 ### 回答2: Python可以通过使用第三方库来开发小程序。以下是使用Flask来实现一个简单的小程序的步骤: 1. 首先,你需要安装Flask库。你可以在命令行下使用pip命令进行安装,如:`pip install flask`。 2. 创建一个Python文件,例如app.py,并导入Flask库。你可以使用以下代码来实现这个功能: ```python from flask import Flask app = Flask(__name__) @app.route('/') def hello(): return 'Hello, World!' if __name__ == '__main__': app.run() ``` 3. 接下来,你可以运行这个Python文件,这将启动一个本地的Flask服务器。你可以在命令行下输入`python app.py`来运行脚本。 4. 在浏览器中输入`http://localhost:5000`,你将能够看到"Hello, World!"这个网页。 5. 现在你可以进一步开发你的小程序,例如添加其他路由、函数和HTML模板。 以上是使用Flask库来实现一个简单的小程序的基本步骤。当然,还有其他的库可以用于开发小程序,例如Django等。使用这些库,你可以更加方便地实现小程序的各种功能,例如处理用户输入、数据库操作、用户认证等。希望以上内容对你有帮助! ### 回答3: 要使用Python实现小程序,可以使用以下方法: 1. 使用Flask或Django等框架:这些Web框架可以帮助搭建和管理小程序的后台服务器。你可以使用flask或django框架创建一个Web应用,然后定义路由和视图函数来处理请求和渲染页面。这样,你就可以使用Python来处理小程序的逻辑和业务。 2. 使用wxPython或PyQt等GUI库:如果你想要开发桌面小程序,你可以使用像wxPython或PyQt这样的GUI库。这些库提供了丰富的界面控件和事件处理机制,可以让你使用Python编写小程序的界面和逻辑。 3. 使用Turtle库:如果你想要制作一个简单的小游戏或图形化程序,你可以使用Python的Turtle库。Turtle库可以让你在一个画布上绘制图形,同时可以使用Python编写程序控制图形的移动和交互。 4. 使用第三方API:如果你想要开发与社交媒体、天气预报或其他在线服务相关的小程序,你可以使用Python的第三方API库。这些库提供了访问和使用各种在线服务的接口,可以帮助你快速开发小程序。 综上所述,Python可以通过Web框架、GUI库、Turtle库或第三方API来实现小程序的开发。具体使用哪种方法取决于你的需求和技术背景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值