大家好,

我是博客园的老用户了,许久不做.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开发比我多5K,八年老Android只会crud该转Java吗?

    最近在网上看到这样一个帖子: 做了八年Android开发,感觉这块做着也挺没意思,日常工作就是做一些架构优化,质量数据监控,改一改构建脚本,最主要的是业务负责人没有一个是做客户端的,都是后端的人. 最 ...

  2. 列出文件夹中分级目录java

    package test; import java.io.File; public class exportFileName { public static void main(String[] ar ...

  3. Golang语言系列-09-接口

    接口 接口的定义和实现 package main import "fmt" /* [接口] 接口(interface)定义了一个对象的行为规范,只定义规范不实现,由具体的对象来实现 ...

  4. vim编辑文件时[O]pen Read-Only, (E)dit anyway, (R)ecover, (D)elete it, (Q)uit, (A)bort:

    ​​ ​ ​ 出现这个问题是因为你上次编辑的时候在没有保存的情况下退出了(如:电脑关机等)也有可能是有其他人在和你同时进行编辑行为(不同会话中).这是因为在用vim编辑的时候,vim会在打开文件目录下 ...

  5. JavaSE-基础语法

    注释 单行注释: //注释 多行注释: /*注释*/ 文档注释: /** 文档注释 */ 标识符与关键字 下图为Java中所有的关键字 所有标识符必须以大小写字母或$或_开头,首字母之后可以用数字 不 ...

  6. Sqli-Labs less29-31

    Less-29 可以从介绍上看出,第29关被称为世界上最好的WAF,网上许多讲解的办法就是和第一关差不多,其实是不对的. sqli-labs文件夹下面还有tomcat文件,这才是真正的less,里面的 ...

  7. hdmi 随笔

    从图片来看,每张图片开始传输的是45像素的垂直同步, 1.控制数据贯穿所有时间,没个不是控制数据的传输都被控制数据包围.控制数据还要通过控制位指示,下一个数据是数据岛还是视频信号. 2.terc4 全 ...

  8. Android模块化开发实践

    一.前言 随着业务的快速发展,现在的互联网App越来越大,为了提高团队开发效率,模块化开发已经成为主流的开发模式.正好最近完成了vivo官网App业务模块化改造的工作,所以本文就对模块化开发模式进行一 ...

  9. SQL 练习15

    检索" 01 "课程分数小于 60,按分数降序排列的学生信息 SELECT Student.* ,SC.score from Student,SC WHERE sc.cid = ' ...

  10. AAC简介

    AAC共有9种规格,以适应不同的场合的需要: MPEG-2 AAC LC 低复杂度规格(Low Complexity)--比较简单,没有增益控制,但提高了编码效率,在中等码率的编码效率以及音质方面,都 ...