前端上传图片,Python后端接收

2023-11-18

前端代码

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Image Upload</title>
</head>
<body>
    <h1>Image Upload</h1>
    <input type="file" id="imageInput">
    <button onclick="uploadImage()">Upload</button>
    <script>
        function uploadImage() {
            const imageInput = document.getElementById('imageInput');
            const file = imageInput.files[0];

            if (file) {
                const reader = new FileReader();
                reader.onload = function(event) {
                    const imageBase64 = event.target.result;
                    const data = {
                        image: imageBase64,
                        direction: 0
                    };

                    fetch('http://127.0.0.0:5000/slot_count', {
                        method: 'POST',
                        headers: {
                            'Content-Type': 'application/json'
                        },
                        body: JSON.stringify(data)
                    })
                    .then(response => response.json())
                    .then(result => {
                        console.log(result);
                    })
                    .catch(error => {
                        console.error('Error:', error);
                    });
                };
                reader.readAsDataURL(file);
            }
        }
    </script>
</body>
</html>

Python后端代码

import base64
from gevent import pywsgi
from flask import Flask, request, jsonify
from flask_cors import CORS
import numpy as np
import cv2
import traceback

app = Flask(__name__)
CORS(app, resources=r'/*')  # 跨域
app.config['JSON_AS_ASCII'] = False  # 返回显示中文


@app.route('/', methods=['GET'])
def verify_connect():
    return jsonify({'code': 200, 'msg': 'success', 'data': ["connection successful"]})


@app.route('/slot_count', methods=['POST'])
def predict():
    ret = []

    try:
        data = request.json
        direction = data['direction']
        print(direction)

        base64_image = data['image']
        image_data = base64.b64decode(base64_image.split(',')[-1])
        image = cv2.imdecode(np.frombuffer(image_data, np.uint8), cv2.IMREAD_COLOR)
        print(image.shape)

        cv2.imshow('img', image)
        cv2.waitKey()

        code = 200
        msg = "success"

    except ValueError as ve:
        traceback.print_exc()
        code = 400
        msg = str(ve)

    except Exception as e:
        traceback.print_exc()
        code = 500
        msg = str(e)

    result = {'code': code, 'msg': msg, 'data': ret}

    return jsonify(result)


if __name__ == '__main__':
    app.run('0.0.0.0', 5000, debug=True)
    # server = pywsgi.WSGIServer(('0.0.0.0', 5000), app)
    # server.serve_forever()

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

前端上传图片,Python后端接收 的相关文章

  • python 可以检测它运行在哪个操作系统下吗?

    python 可以检测操作系统 然后为文件系统构建 if else 语句吗 我需要将 Fn 字符串中的 C CobaltRCX 替换为 FileSys 字符串 import os path csv from time import strf
  • Matplotlib 标准化颜色条 (Python)

    我正在尝试使用 matplotlib 当然还有 numpy 绘制轮廓图 它有效 它绘制了它应该绘制的内容 但不幸的是我无法设置颜色条范围 问题是我有很多图 并且需要所有图都具有相同的颜色条 相同的最小值和最大值 相同的颜色 我复制并粘贴了在
  • 打印 scrapy 请求的“响应”

    我正在尝试学习 scrapy 在遵循教程的同时 我正在尝试进行细微的调整 我想简单地从请求中获取响应内容 然后我会将响应传递到教程代码中 但我无法发出请求并获取响应内容 建议就好 from scrapy http import Respon
  • 获取单个方程的脚本

    在文本文件中输入 a 2 8 b 3 9 c 4 8 d 5 9 e a b f c d g 0 6 h 1 7 i e g j f h output i j 期望的输出 输出 2 8 3 9 0 6 4 8 5 9 1 7 如果输入文件名
  • 如何将条目中的部分文本加粗并更改其背景颜色?

    我正在创建一个基于 Tkinter 的 GUI 它有一个 Entry 小部件 我想将其文本的一部分加粗并更改其背景颜色 但我不知道我该怎么做 如果我使用文本小部件 我可以只使用标签 但看起来它们不能与条目小部件一起使用 此代码使用文本小部件
  • Python 中 genfromtxt() 的可变列数?

    我有一个 txt具有不同长度的行的文件 每一行都是代表一条轨迹的一系列点 由于每条轨迹都有自己的长度 因此各行的长度都不同 也就是说 列数从一行到另一行不同 据我所知 genfromtxt Python 中的模块要求列数相同 gt gt g
  • 使用正则表达式解析 Snort 警报文件

    我正在尝试使用 Python 中的正则表达式从 snort 警报文件中解析出源 目标 IP 和端口 和时间戳 示例如下 03 09 14 10 43 323717 1 2008015 9 ET MALWARE User Agent Win9
  • python ttk treeview:如何选择并设置焦点在一行上?

    我有一个 ttk Treeview 小部件 其中包含一些数据行 如何设置焦点并选择 突出显示 指定项目 tree focus set 什么也没做 tree selection set 0 抱怨 尽管小部件明显填充了超过零个项目 但未找到项目
  • 行为:如何从另一个文件导入步骤?

    我刚刚开始使用behave http pythonhosted org behave 一个Pythonic BDD框架 使用小黄瓜语法 http docs behat org guides 1 gherkin html 行为需要一个特征 例
  • Python 中的这种赋值方式叫什么? a = b = 真

    我知道关于元组拆包 http docs python org tutorial datastructures html tuples and sequences但是当一行中有多个等号时 这个赋值被称为什么 阿拉a b True 它总是让我有
  • python中的sys.stdin.fileno()是什么

    如果这是非常基本的或之前已经问过的 我很抱歉 我用谷歌搜索但找不到简单且令人满意的解释 我想知道什么sys stdin fileno is 我在代码中看到了它 但不明白它的作用 这是实际的代码块 fileno sys stdin filen
  • 是否可以强制浮点数的指数或有效数匹配另一个浮点数(Python)?

    这是我前几天试图解决的一个有趣的问题 是否可以强制一个的有效数或指数float与另一个人一样float在Python中 出现这个问题是因为我试图重新调整一些数据 以便最小值和最大值与另一个数据集匹配 然而 我重新调整后的数据略有偏差 大约小
  • Scrapy 蜘蛛无法工作

    由于到目前为止没有任何效果 我开始了一个新项目 python scrapy ctl py startproject Nu 我完全按照教程操作 创建了文件夹和一个新的蜘蛛 from scrapy contrib spiders import
  • CSV 在列中查找最大值并附加新数据

    大约两个小时前 我问了一个关于从网站读取和写入数据的问题 从那时起 我花了最后两个小时试图找到一种方法来从输出的 A 列读取最大日期值 将该值与刷新的网站数据进行比较 并将任何新数据附加到 csv 文件而不覆盖旧的或创建重复项 目前 100
  • 如何对字符串列表进行排序?

    在 Python 中创建按字母顺序排序的列表的最佳方法是什么 基本回答 mylist b C A mylist sort 这会修改您的原始列表 即就地排序 要获取列表的排序副本而不更改原始列表 请使用sorted http docs pyt
  • 将 Scikit-Learn OneHotEncoder 与 Pandas DataFrame 结合使用

    我正在尝试使用 Scikit Learn 的 OneHotEncoder 将 Pandas DataFrame 中包含字符串的列替换为 one hot 编码的等效项 我的下面的代码不起作用 from sklearn preprocessin
  • PyQt 中的线程和信号问题

    我在 PyQt 中的线程之间进行通信时遇到一些问题 我使用信号在两个线程 发送者和监听者 之间进行通信 发送者发送消息 期望被监听者接收 但是 没有收到任何消息 谁能建议可能出了什么问题 我确信这一定很简单 但我已经环顾了几个小时但没有发现
  • 具有指定置信区间的 Seaborn 条形图

    我想在 Seaborn 条形图上绘制置信区间 但我已经计算出置信区间 如何让 Seaborn 绘制我的置信区间而不是尝试自行计算它们 例如 假设我有以下 pandas DataFrame x pd DataFrame Group 1 0 5
  • 使用 Keras 和 fit_generator 绘制 TensorBoard 分布和直方图

    我正在使用 Keras 使用 fit generator 函数训练 CNN 这似乎是一个已知问题 https github com fchollet keras issues 3358TensorBoard 在此设置中不显示直方图和分布 有
  • 如何识别图形线条

    我有以下格式的路径的 x y 数据 示例仅用于说明 seq p1 p2 0 20 2 3 1 20 2 4 2 20 4 4 3 22 5 5 4 22 5 6 5 23 6 2 6 23 6 3 7 23 6 4 每条路径都有多个点 它们

随机推荐

  • 深度学习里面正则化的理解

    一 正则化的概念与用处 正则化 也叫规范化 在神经网络里主要是对代价函数高次项添加一些惩罚 防止其过拟合 相当于对某些特征的权重施加惩罚 降低其影响权重 防止过拟合 欠拟合时需要去掉正则化 因为本来就特征不足 再惩罚一下就更没用了 正则化目
  • JCenter() 与 mavenCenter() 的区别

    网络上有两种Maven仓库 分别是mavenCenter 和jCenter 1 Maven Central 则是由sonatype org维护的Maven仓库 http jcenter bintray com 2 jcenter是一个由 b
  • ARM开发——搭建嵌入式开发环境

    ckermit串口工具的下载 sudo apt get install ckermit 如果我们有新的串口连接上 我们可以通过查看 dev 来看连接的数据 ckermit 配置文件的配置 kermrc set line dev ttyUSB
  • jemter接口测试+断言+参数化+接口关联实战教程

    此次实例准备 jmeter实战接口申请地址 https www tianapi com 实例信息 请求10次身份证归属地查询接口 提取响应数据的星座信息作为请求参数 给星座运势查询接口使用 即接口之间关联调用 下面是两个接口的基本信息 A
  • 【Unity】一个场景跳转到多个场景的解决方案

    在某些情况下 比如我们需要设计一个探索类游戏 那么一个场景可以根据选择的不同 跳转至多个场景 甚至能够回跳场景 那么在这种情况下 我们该如何进行多场景的精确跳转呢 思路 假设角色走到某一扇门时 场景将进行切换 如果场景切换是非线性的 那么就
  • python入门选择题

    下列哪个是Python的注释符号 A B C D 答案 B 解析 在Python中 使用 来进行注释 以 开头的行也被认为是注释 在Python中 如何将两个整数相除并得到一个浮点数 A 使用 运算符 B 使用 运算符 C 使用 运算符 D
  • office2021安装教程

    需要用到的工具 office tool plus https otp landian vip zh cn 进到官网点立即下载 下载 包含框架 推荐 下载好解压 运行officetool plus 选择部署 在这里可以看到电脑已存在的offi
  • Spring依赖注入

    一 什么是依赖注入 DI Dependency Injection 依赖注入是指在 Spring IOC 容器创建对象的过程中 将所依赖的对象通过配置进行注入 我们可以通过依赖注入的方式来降低对象间的耦合度 在软件工程中 对象之间的耦合度就
  • 三维重建-opencv实现sfm

    注意 本文中的代码必须使用OpenCV3 0或以上版本进行编译 因为很多函数是3 0以后才加入的 目录 SfM介绍 小孔相机模型 坐标系 内参矩阵 外参矩阵 相机的标定 SfM介绍 SfM的全称为Structure from Motion
  • Java 利用hutool工具实现导出excel并合并单元格

    Java 利用hutool工具实现导出excel并合并单元格 controller层调用service 就一个核心方法 没错就下面这个代码就能实现了 前提是项目里面要引用hutool包 把我这个复制到项目里面然后改掉字段应该能直接跑起来的
  • SQL Server统计数据库表空间大小和数据量

    SQL Server统计数据库表空间大小和数据量 在大数据环境中 对于SQL Server数据库的管理和优化是非常重要的 其中一个关键任务是统计数据库中各个表的空间大小和数据量 通过了解每个表所占用的存储空间 可以进行容量规划 性能优化和资
  • 虚拟机上的Ubuntu开机显示“无法应用原保存的显示器配置”

    如图 解决方法 删除monitors xml 文件 rm config monitors xml
  • pdf模板,java替换变量

    开发十年 就只剩下这套Java开发体系了 gt gt gt 1 创建pdf 现在word中创建模板 输出为pdf文件2 pdf 2 java项目引入依赖
  • 单片机时间戳转换

    看了网上的例程 大多繁琐 直接利用time h里的库函数进行转换即可 include
  • windows上传文件到ubuntu

    进入putty目录下 运行pscp 然后pscp 目标文件 Linux用户名 IP地址 目标文件夹 输入linux的登陆密码即可 more than one remote source not supported 出现这种情况是由空格导致的
  • Linux内核的编译、安装、调试

    这里写目录标题 编译安装内核 下载内核 安装依赖 更改 config 编译内核 安装 首先安装模块 安装内核 更改引导 更改 grub 重启 其他操作 清理内核源目录 卸载安装的内核 修改内核配置菜单实现对新加入内核源码的控制 常见问题 1
  • 8-13外部排序-败者树

    败者树是树形选择排序的一种变体 可视为一棵完全二叉树 通过败者树 可以在k个归并段中选出最小关键字所需要的关键字对比次数更少 绿色为叶子结点 存放初始数据 黑色为失败结点 蓝色为胜出结点 一 基本过程 以下按从小到大的方式构建 1 从8个归
  • Nor Flash,Nand Flash

    文章目录 1 Nor Flash 使用场景 2 Nand Flash 使用场景 3 读写速度对比 4 成本与容量 1 Nor Flash 使用场景 对于大多数应用较为简单的场景 比如 MCU 其内置的 Flash 就是使用的是 Nor Fl
  • python基础开发篇3——线上环境部署Django项目

    文章目录 一 基本了解 二 打包本地项目 三 服务器环境准备 四 安装web服务 4 1 使用uwsgi代理 4 2 使用nginx代理 推荐 五 部署daphne 一 基本了解 部署思路 Nginx服务接收浏览器的动态请求 再通过uwsg
  • 前端上传图片,Python后端接收

    前端代码 h1 Image Upload h1