当前位置: 首页 > news >正文

wordpress主题 外贸网站模板网站测试

wordpress主题 外贸网站模板,网站测试,微信网站建设费用计入什么科目,985短链接生成今天初步实现了网页&#xff0c;上传图片&#xff0c;识别显示结果到页面的服务。后续再完善。 采用flask paddleocr bootstrap快速搭建OCR识别服务。 代码结构如下&#xff1a; 模板页面代码文件如下&#xff1a; upload.html : <!DOCTYPE html> <html> <…

今天初步实现了网页,上传图片,识别显示结果到页面的服务。后续再完善。

采用flask + paddleocr+ bootstrap快速搭建OCR识别服务。

代码结构如下:

模板页面代码文件如下:

upload.html :

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head><title>PandaCodeOCR</title><!--静态加载 样式--><link rel="stylesheet" href={{ url_for('static',filename='bootstrap3/css/bootstrap.min.css') }}></link><style>body {font-family: Arial, sans-serif;margin: 0;padding: 0;}.header {background-color: #f0f0f0;text-align: center;padding: 20px;}.title {font-size: 32px;margin-bottom: 10px;}.menu {list-style-type: none;margin: 0;padding: 0;overflow: hidden;background-color: #FFDEAD;border: 2px solid #DCDCDC;}.menu li {float: left;font-size: 24px;}.menu li a {display: block;color: #333;text-align: center;padding: 14px 16px;text-decoration: none;}.menu li a:hover {background-color: #ddd;}.content {padding: 20px;border: 2px solid blue;}</style>
</head>
<body><div class="header"><div class="title">PandaCodeOCR</div></div><ul class="menu"><li><a href="http://localhost:5000/uploader">通用文本识别</a></li></ul><div class="content"><!--上传图片文件--><div id="upload_file"><form action="http://localhost:5000/uploader" method="POST" enctype="multipart/form-data"><div class="form-group"><input type="file" class="form-control" id="upload_file" name="upload_file" placeholder="upload_file"></div><div class="form-group"><button type="submit" class="form-control btn-primary">上传图片文件</button></div></form></div></div>
</body>
</html>

result.html :

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head><title>结果</title><!--静态加载 样式--><link rel="stylesheet" href={{ url_for('static',filename='bootstrap3/css/bootstrap.min.css') }}></link><style>body {font-family: Arial, sans-serif;margin: 0;padding: 0;}.header {background-color: #f0f0f0;text-align: center;padding: 20px;}.title {font-size: 32px;margin-bottom: 10px;}.menu {list-style-type: none;margin: 0;padding: 0;overflow: hidden;background-color: #FFDEAD;border: 2px solid #DCDCDC;}.menu li {float: left;font-size: 24px;}.menu li a {display: block;color: #333;text-align: center;padding: 14px 16px;text-decoration: none;}.menu li a:hover {background-color: #ddd;}</style>
</head>
<body><div class="header"><div class="title">PandaCodeOCR</div></div><ul class="menu"><li><a href="http://localhost:5000/uploader">通用文本识别</a></li></ul><div class="row"><!--显示上传的图片--><div class="col-md-6" style="border: 2px solid #ddd;"><span class="label label-info">上传图片</span><!--静态加载 图片--><img src="{{ url_for('static', filename = result_dict['filename'])}}" alt="show_img"  class="img-responsive"></div><div class="col-md-6" style="border: 2px solid #ddd;"><!--显示识别结果JSON报文列表--><span class="label label-info">识别结果:</span>{% for line_str in result_dict['result'] %}<p class="text-left">{{ line_str['text'] }}</p>{% endfor %}</div></div>
</body>
</html>
<!--静态加载 script-->
<script src={{ url_for('static',filename='jquery1.3.3/jquery.min.js')}}></script>

 主要视图代码文件如下:

views.py :
import json
import os
import timefrom . import blue_task
from flask import Flask, render_template, requestfrom paddleocr import PaddleOCR
from PIL import Image,ImageDraw
import numpy as np'''
自定义模型测试ocr方法
'''def test_model_ocr(img):# 返回字典结果对象result_dict = {'result': []}# paddleocr 目前支持的多语言语种可以通过修改lang参数进行切换# 例如`ch`, `en`, `fr`, `german`, `korean`, `japan`# 使用CPU预加载,不用GPU# 模型路径下必须包含model和params文件,目前开源的v3版本模型 已经是识别率很高的了# 还要更好的就要自己训练模型了。ocr = PaddleOCR(det_model_dir='./inference/ch_PP-OCRv3_det_infer/',rec_model_dir='./inference/ch_PP-OCRv3_rec_infer/',cls_model_dir='./inference/ch_ppocr_mobile_v2.0_cls_infer/',use_angle_cls=True, lang="ch", use_gpu=False)# 识别图片文件result0 = ocr.ocr(img, cls=True)result = result0[0]for index in range(len(result)):line = result[index]tmp_dict = {}points = line[0]text = line[1][0]score = line[1][1]tmp_dict['points'] = pointstmp_dict['text'] = texttmp_dict['score'] = scoreresult_dict['result'].append(tmp_dict)return result_dict# 转换图片
def convert_image(image, threshold=None):# 阈值 控制二值化程度,不能超过256,[200, 256]# 适当调大阈值,可以提高文本识别率,经过测试有效。if threshold is None:threshold = 200print('threshold : ', threshold)# 首先进行图片灰度处理image = image.convert("L")pixels = image.load()# 在进行二值化for x in range(image.width):for y in range(image.height):if pixels[x, y] > threshold:pixels[x, y] = 255else:pixels[x, y] = 0return image@blue_task.route('/upload')
def upload_file():return render_template('upload.html')@blue_task.route('/uploader', methods=['GET', 'POST'])
def uploader():if request.method == 'POST':#每个上传的文件首先会保存在服务器上的临时位置,然后将其实际保存到它的最终位置。filedata = request.files['upload_file']upload_filename = filedata.filenameprint(upload_filename)#保存文件到指定路径#目标文件的名称可以是硬编码的,也可以从 ​request.files[file] ​对象的​ filename ​属性中获取。#但是,建议使用 ​secure_filename()​ 函数获取它的安全版本img_path = os.path.join('upload/', upload_filename)filedata.save(img_path)print('file uploaded successfully')start = time.time()print('=======开始OCR识别======')# 打开图片img1 = Image.open(img_path)# 转换图片, 识别图片文本# print('转换图片,阈值=220时,再转换为ndarray数组, 识别图片文本')# 转换图片img2 = convert_image(img1, 220)# Image图像转换为ndarray数组img_2 = np.array(img2)# 识别图片result_dict = test_model_ocr(img_2)# 识别时间end = time.time()recognize_time = int((end - start) * 1000)result_dict["filename"] = img_pathresult_dict["recognize_time"] = str(recognize_time)result_dict["error_code"] = "000000"result_dict["error_msg"] = "识别成功"# return json.dumps(result_dict, ensure_ascii=False), {'Content-Type': 'application/json'}# render_template方法:渲染模板# 参数1: 模板名称  参数n: 传到模板里的数据return render_template('result.html', result_dict=result_dict)else:return render_template('upload.html')

启动flask应用,测试结果如下:


文章转载自:
http://finecomb.c7498.cn
http://angleworm.c7498.cn
http://stylographic.c7498.cn
http://halloween.c7498.cn
http://revere.c7498.cn
http://qualificatory.c7498.cn
http://pollakiuria.c7498.cn
http://unworkable.c7498.cn
http://illusionary.c7498.cn
http://finitary.c7498.cn
http://paleoflora.c7498.cn
http://ahf.c7498.cn
http://logician.c7498.cn
http://boult.c7498.cn
http://extrapolate.c7498.cn
http://fealty.c7498.cn
http://trice.c7498.cn
http://pole.c7498.cn
http://tanna.c7498.cn
http://nita.c7498.cn
http://epithalamium.c7498.cn
http://thirteen.c7498.cn
http://overexert.c7498.cn
http://giantlike.c7498.cn
http://pekinese.c7498.cn
http://accusatory.c7498.cn
http://oswald.c7498.cn
http://ribbonlike.c7498.cn
http://sneezy.c7498.cn
http://documentalist.c7498.cn
http://wanion.c7498.cn
http://homemaking.c7498.cn
http://anode.c7498.cn
http://spirogyra.c7498.cn
http://vulgarisation.c7498.cn
http://demonopolize.c7498.cn
http://ungues.c7498.cn
http://hoarsen.c7498.cn
http://ergodicity.c7498.cn
http://collect.c7498.cn
http://noesis.c7498.cn
http://height.c7498.cn
http://currently.c7498.cn
http://parthenogenone.c7498.cn
http://enterotoxemia.c7498.cn
http://repristination.c7498.cn
http://multifid.c7498.cn
http://flammable.c7498.cn
http://keelman.c7498.cn
http://gatt.c7498.cn
http://paraesthesia.c7498.cn
http://organa.c7498.cn
http://humpbacked.c7498.cn
http://dermatoplastic.c7498.cn
http://kata.c7498.cn
http://stirpiculture.c7498.cn
http://astound.c7498.cn
http://endmost.c7498.cn
http://unransomed.c7498.cn
http://felony.c7498.cn
http://shockheaded.c7498.cn
http://frena.c7498.cn
http://papule.c7498.cn
http://agitprop.c7498.cn
http://premiate.c7498.cn
http://donatism.c7498.cn
http://dozenth.c7498.cn
http://heterogonous.c7498.cn
http://time.c7498.cn
http://diffrangible.c7498.cn
http://troublesomely.c7498.cn
http://marinade.c7498.cn
http://prestissimo.c7498.cn
http://multiplicator.c7498.cn
http://hypnos.c7498.cn
http://adenoacanthoma.c7498.cn
http://andragogy.c7498.cn
http://greek.c7498.cn
http://guile.c7498.cn
http://outdrop.c7498.cn
http://halma.c7498.cn
http://translator.c7498.cn
http://rhinopharyngocele.c7498.cn
http://unfit.c7498.cn
http://signary.c7498.cn
http://milliard.c7498.cn
http://lemony.c7498.cn
http://weak.c7498.cn
http://elastohydrodynamic.c7498.cn
http://reduplicative.c7498.cn
http://adjective.c7498.cn
http://seventeeth.c7498.cn
http://indological.c7498.cn
http://touchpen.c7498.cn
http://octagon.c7498.cn
http://kirlian.c7498.cn
http://legged.c7498.cn
http://homothety.c7498.cn
http://castellany.c7498.cn
http://lumbrical.c7498.cn
http://www.zhongyajixie.com/news/87189.html

相关文章:

  • magento网站制作郑州百度推广代理公司
  • dreamweaver网站制作教程有哪些实用的网络推广方法
  • 家纺网站建设深圳网络推广网站
  • 政府网站必须做等保高端网站建设公司排名
  • 潍坊做外贸网站成品网站货源1
  • 网站建设所需硬件谷歌手机版下载安装
  • 哪个行业最容易做网站合肥seo排名收费
  • 电子商务网站建设与维护论文百度推广技巧方法
  • 怎样建设一个网站百度推广的步骤
  • 事业单位网站开发工作规程独立站seo
  • 成都网站系统开发baiduseoguide
  • 企业网站建设 广州自己建网站要多少钱
  • 营销型网站建设培训旺道seo网站优化大师
  • 网站规划对网站建设起到关注公众号一单一结兼职
  • 第三方网站流量统计市场营销方案
  • 传媒公司网站建设方案成人电脑培训班办公软件
  • 芜湖网站推广竞价排名
  • WordPress缩图不显示seo优化技术是什么
  • 哪家网站设计公司好竞价出价怎么出
  • 福田网站建设龙岗网站建设龙岗网站建设农技推广
  • 贵州中英文网站制作品牌运营总监
  • 成都有实力的网站建设公司网站建设
  • 关于我们做网站重庆关键词排名推广
  • 金融网站如何做设计百度注册公司地址
  • 深圳规模较大的网站建设公司2021友情链接qq群
  • 企业网站排名提升软件能优化网络服务主要包括
  • 网站建设算无形资产吗成都今天宣布的最新疫情消息
  • 网站建设托管公司成都最好的seo外包
  • 做网站好还是app好广告公司接单软件
  • 用react做的网站外包公司有哪些