大家好,

我是博客园的老用户了,许久不做.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. JavaEE精英进阶课学习笔记《博学谷》

    JavaEE精英进阶课学习笔记<博学谷> 第1章 亿可控系统分析与设计 学习目标 了解物联网应用领域及发展现状 能够说出亿可控的核心功能 能够画出亿可控的系统架构图 能够完成亿可控环境的准 ...

  2. Java基础(一):I/O多路复用模型及Linux中的应用

    IO多路复用模型广泛的应用于各种高并发的中间件中,那么区别于其他模式他的优势是什么.其核心设计思想又是什么.其在Linux中是如何实现的? I/O模型 I/O模型主要有以下五种: 同步阻塞I/O:I/ ...

  3. 『Java』String类使用方法

    Java中的字符串 java.lang.String类表示字符串类,Java程序中所有字符串文字都可以看作实现该类的实例. 特点: 字符串不可变:字符串的值在创建后不能在发生改变 public cla ...

  4. Linux线程属性总结(一)

    线程属性标识符:pthread_attr_t 包含在 pthread.h 头文件中. [c] view plaincopy //线程属性结构如下: typedef struct { int       ...

  5. 带你认识5G技术

    一.移动通讯的发展历程 1.1.移动通讯具有代际演进规律 "G"代表一代 每10年一个周期,如下图所示: 1.2.5G技术指标对比概述 主要的技术指标有:流量密度.连接数密度.时延 ...

  6. Golang语言系列-03-流程控制语句

    Go语言流程控制语句 Go语言中最常用的流程控制语句有 if 和 for ,没有像Python中的while语句.另外,Go语言还有switch和goto语句,不过这两个主要是用来简化代码的,属于扩展 ...

  7. CVE-2021-25646:Apache Druid远程命令执行漏洞复现

    漏洞概述 Apache Druid 是一个分布式的数据处理系统.Apache Druid包括执行用户提供的JavaScript的功能嵌入在各种类型请求中的代码.在Druid 0.20.0及更低版本中, ...

  8. sqli-labs lesson 54-65

    less 54 需要从数据库的CHALLENGES表中取出key值输入,输入对了才算通过,但是只能做10次尝试. 这里id被单引号包裹,注意闭合单引号即可,剩下的就可以参照less 1获取表中信息即可 ...

  9. sqli-labs 16-20

    less 16: 和less 15基本一致,只是对参数进行了 ") 的包裹,注意闭合语句使用延时注入即可. 下面给一个payload示例: uname=admin")and if( ...

  10. 程序员作图工具和技巧,你 get 了么?

    分享程序员常用的画图软件和小技巧 大家好,我是鱼皮. 说实话,我觉得做个程序员挺好的.日常工作有很多,写代码.对需求.写方案等等,但我最爱画图:流程图.架构图.交互图.功能模块图.UML 类图.部署图 ...