前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >技术路线图与流程图绘制工具

技术路线图与流程图绘制工具

原创
作者头像
用户6841540
发布2024-08-15 09:03:26
810
发布2024-08-15 09:03:26
举报
文章被收录于专栏:安义技术分享

1.在线网站processon

2.本地软件draw.io

容器

快捷键:ctrl+g,能将图形转换成容器,使其他图形能够移入该容器中。移入时会有紫色提醒(ctrl+g同时也是组合的快捷键)。

复制

除了常用的ctrl+c与ctrl+v外,还能使用ctrl+鼠标左键拖拽。

常用框图

在空白处双击就会出现

该软件由于开源特性,在vscdoe中也可以作为插件使用

教程

使用技巧

从图片识别流程图,并在draw.io中绘制

代码语言:python
代码运行次数:0
复制
import pyperclip, os
from paddleocr import PaddleOCR, paddleocr

def convert_to_mxGeometry(coords):
    x_min = min([coord[0] for coord in coords])
    y_min = min([coord[1] for coord in coords])
    x_max = max([coord[0] for coord in coords])
    y_max = max([coord[1] for coord in coords])
    width = x_max - x_min
    height = y_max - y_min
    x = x_min + width/2
    y = y_min + height/2
    return f'<mxGeometry x="{x}" y="{y}" width="{width}" height="{height}" as="geometry"/>'

def test_convert_to_mxGeometry():
    coords = [[29.0, 122.0], [216.0, 122.0], [216.0, 135.0], [29.0, 135.0]]
    print(convert_to_mxGeometry(coords)) 
    
def ocr_to_mxGraphModel(img_path):
    # 判断是否为图片
    if not img_path.endswith(('.jpg', '.png', '.jpeg')):
        return '请使用图片文件'

    # 判断图片是否存在
    if not os.path.exists(img_path):
        return '图片不存在'

    # 关闭DEBUG日志的打印
    import logging
    paddleocr.logging.disable(logging.DEBUG)

    # Paddleocr目前支持的多语言语种可以通过修改lang参数进行切换
    # 例如`ch`, `en`, `fr`, `german`, `korean`, `japan`
    ocr = PaddleOCR(use_angle_cls=True, lang="ch")

    print('正在识别图片,请稍等...')
    result = ocr.ocr(img_path, cls=True)

    num, ret= 2, ['<mxGraphModel><root><mxCell id="0"/><mxCell id="1" parent="0"/>']
    for line in result:
        for word in line:
            # xml转义字符
            value = word[1][0].replace('&', '&amp;').replace('<', '&lt;').replace('>', '&gt;').replace('"', '&quot;')
            ret.append(f'<mxCell id="{num}" value="{value}" style="rounded=0%3BwhiteSpace=wrap%3Bhtml=1%3B" vertex="1" parent="1">')
            ret.append(convert_to_mxGeometry(word[0]))
            ret.append('</mxCell>')
            num += 1
            # print(convert_to_mxGeometry(word[0]) , word[1][0])
    ret.append('</root></mxGraphModel>')

    print('识别完成')

    # 拼接成xml
    return ''.join(ret)

if __name__ == '__main__':

    print('程序开始运行')

    # 图片路径
    img_path = R'C:\Users\Jack\Desktop\11.png'

    # 识别图片,得到xml
    xml = ocr_to_mxGraphModel(img_path)

    # 复制到剪切板
    pyperclip.copy(xml)

    print('已复制到剪切板,请在draw.io中粘贴')
注:可能出现问题的地方

安装命令:

安装paddle模块

代码语言:bash
复制
python -m pip install paddlepaddle==2.5.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

安装paddleocr模块

代码语言:bash
复制
pip install paddleocr

参考链接

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.在线网站processon
  • 2.本地软件draw.io
    • 容器
      • 复制
        • 常用框图
          • 从图片识别流程图,并在draw.io中绘制
          相关产品与服务
          AI 应用产品
          文字识别(Optical Character Recognition,OCR)基于腾讯优图实验室的深度学习技术,将图片上的文字内容,智能识别成为可编辑的文本。OCR 支持身份证、名片等卡证类和票据类的印刷体识别,也支持运单等手写体识别,支持提供定制化服务,可以有效地代替人工录入信息。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档