大家好,

我是博客园的老用户了,许久不做.NET技术了,从2013年起,开始从事App技术,写过书,在Linux上搭建区块链,用GO写智能合约,使用nodejs搭建过微服务,用python写过爬虫,写过微信聊天机器人。

人到中年,已经写不出20多岁时意气风发的激扬文字了。

最近开始从事历史类工具的开发,以及人工智能,尤其是OCR技术,又重拾C#和winform的老本行,做了一个半人工标注平台PaddleOCRLabel,在gitee上开源,地址是:https://gitee.com/BaoJianQiang/paddle-ocrlabel

写这个软件只用了一周时间,很多遗忘的技术,上网搜一下,改一改代码,基本就能为我所用。写了17年代码了,这是最直接的体会。

再比如说,要做一个操作回滚的功能,用命令模式或备忘录模式,也是得心应手,这也是08年开始研究设计模式的成果。

比较感慨的是,.NET生态真的不是很繁荣。举一个例子,我这个软件里面要做类似于PhotoShop的圈锁和浮层,竟然找不到好用的第三方库,只能直接使用最原始的GDI+绘制,效果不是很理想。我隐约记得有个.NET仿照PS做的Paint.NET开源项目,竟然官网已经不提供下载了。只能去一些网站付费下载,打开才发现是很早的版本,现在的VisualStudio根本打不开。

再聊聊我步入ai这个大舞台的初步感受,我至今也没入门这个领域,只是机械性的知道tensorflow和pytorch搭建模型的那些代码,但是对于文字和图像转变成数字矩阵然后大量训练就能得到结果,还是摸不着头脑。

看一下这个开源项目的界面吧,如下图所示:

这个软件哦,其实还没全做完,因为要和百度paddleocr合作,所以只能使用百度的服务。

接下来,会在此基础上,开发出更强大的一个项目,扫描一张图片,同时从腾讯、百度、阿里、科大讯飞这几家公司的ocr服务,返回标注结果,供用户选择,这就是商用软件了。

此外,我上个月还写了一个一键生成的工具,可以把pdf直接转换为ocr识别后的文本,软件界面如下图所示,过段时间我也会开源出来:

我的一个长期愿景是整理古籍,把古籍中的文字搜集为一个很大的历史资料库,支持全文索引,如下图所示(只截取了两晋十六国和民国的截图,想看其他朝代的可以私聊),是我花了一年时间做的一个软件,通过这个内容类收集软件,可以快速把历朝历代的人物的传记文章归类,可以快速阅读完一个朝代的历史,这是我的初衷:

把这些工具结合在一起,就是一个非常牛逼的纸质书籍转文本的一揽子解决方案。我主要针对古籍,因为这块没有版权的问题。

最后,因为咱们这个技术社区做.NET的人多一些,所以希望各位winform绘图高手,以及python多线程高手,有兴趣可以参与到我这个开源项目中来。

谢谢

开源自己编写的半人工标注平台PaddleOCRLabel(.NET Winform版本)的更多相关文章

  1. Reaction 开源可自定义实时的电商平台

    Reaction 开源可自定义实时的电商平台,支持以下特性 拖放商品 订单处理 支付 物流 税 折扣 Analytics(分析) 与许多第三方应用程序集成 graphql 开发api 简单demo 使 ...

  2. NLP(十四)自制序列标注平台

    背景介绍   在平时的NLP任务中,我们经常用到命名实体识别(NER),常用的识别实体类型为人名.地名.组织机构名,但是我们往往也会有识别其它实体的需求,比如时间.品牌名等.在利用算法做实体识别的时候 ...

  3. RDIFramework.NET平台代码生成器V3.0版本全新发布-更新于20160518(提供下载)

    最新版本请转到:RDIFramework.NET平台代码生成器V3.1版本全新发布-更新于2016-10-08(提供下载) RDIFramework.NET代码生成器V3.0版本修改了针对3.0版本的 ...

  4. mac平台多个php版本快速切换

    mac平台多个php版本快速切换 要求所有php版本都是由brew安装 使用brew安装php多版本方法 # brew install php56 # brew install php70 安装切换工 ...

  5. Java 基础 Java平台的3个版本

    Java平台有3个版本:适用于小型设备和智能卡的JavaME(Java Platform Micro Edition,Java微型版).适用于桌面系统的JavaSE(Java Platform Sta ...

  6. 获取Windows平台下 安装office 版本位数信息

    最近在处理客户端安装程序过程,有一个需求:需要检测Windows平台下安装office 版本信息以及获取使用的office是32 位还是64 位: 当检测出office 位数为64位时,提示当前off ...

  7. 这些.NET开源项目你知道吗?.NET平台开源文档与报表处理组件集合(三)

    在前2篇文章这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧 和这些.NET开源项目你知道吗?让.NET开源来得更加猛烈些吧!(第二辑)中,大伙热情高涨.再次拿出自己的私货,在.NET平台 ...

  8. 开源|性能优化利器:数据库审核平台Themis的选型与实践

    作者:韩锋 出处:DBAplus社群分享:来源:宜信技术学院 Themis开源地址:https://github.com/CreditEaseDBA 一.面临的挑战 1.运维规模及种类 我相信,这也是 ...

  9. 【开源】.net 分布式架构之监控平台

    开源地址:http://git.oschina.net/chejiangyi/Dyd.BaseService.Monitor .net 简单监控平台,用于集群的性能监控,应用耗时监控管理,统一日志管理 ...

随机推荐

  1. Java ParallelStream

    ParallelStream 处理数据 Stream 接口提供了parallelStream方法来将集合转换为并行流.即将一个集合分为多个数据块,并用不同的线程分别处理每个数据块的流. 并且使用par ...

  2. RHCSA_DAY09

    常用特殊符号的使用 Linux系统下通配符起到了很大的作用,对于不确定的文档名称可以使用以下特殊字符表示 *常用的特殊符号,在文件名上,用来代表任意多个任意字符** ? 常用的特殊符号,在文件名上,用 ...

  3. C++ //虚析构和纯虚析构

    1 //虚析构和纯虚析构 2 3 #include <iostream> 4 #include <string> 5 using namespace std; 6 7 clas ...

  4. C++ //函数调用运算符重载 (仿函数)

    1 //函数调用运算符重载 2 3 #include <iostream> 4 #include <string> 5 using namespace std; 6 7 //函 ...

  5. 在Ubuntu下的OpenStack中配置使用Spice协议

    在Ubuntu下的OpenStack中配置使用Spice协议 by 无若 ####控制节点#安装apt-get install nova-spiceproxy spice-html5 spice-vd ...

  6. python3+telnetlib实现简单自动测试

    1 telnetlib介绍 1.1 简介 官方介绍文档:telnetlib -- Telnet 客户端 - Python 3.9.6 文档 telnetlib 模块提供一个实现Telnet协议的类 T ...

  7. Shell-09-文本处理awk

    awk 详情见: awk

  8. dockerfile中ENTRYPOINT与CMD的结合

    一.写在前面 我们在上篇小作文docker容器dockerfile详解对中dockerfile有了比较全面的认识,我们也提到ENTRYPOINT和CMD都可以指定容器启动命令.因为这两个命令是掌握do ...

  9. 优化 SQL 语句的步骤

    优化 SQL 语句的步骤 1.分析MySQL服务器当前的状态信息 SHOW SESSION STATUS; SHOW SESSION STATUS LIKE 'Com_%' //当前会话下所有语句类型 ...

  10. Linux搭建SQL server服务器

    我们知道在Linux下安装服务有很多方式,最为简单的也就是yum安装,但是很多服务通过yum是无法安装的,如果想使用yum安装,需要指定yum安装仓库,我们今天需要安装MSQL Server,所以需要 ...