编写cnchar-draw的demo批量识别笔画

编写cnchar-draw的demo批量识别笔画

1. 先进入makemeahanzi/中,运行generate_words.py生成svg_words.txt,然后将生成的svg_words.txt复制到cnchar/npm/中去

2. 再安装一个Node.js的环境,参照下面的博客,有报错直接根据报的错补装一些东西即可

    [Linux系統] Ubuntu 安裝 Node.js

3. 配置cnchar-draw的环境

    下载好cnchar,将要运行的demo脚本放在./cnchar/npm下,然后在当前位置打开终端$ node loadtxt.js运行就行了,之后会生成outputs.txt,每一行记录了 "汉字 笔画序列"

var cnchar = require('./cnchar/index');
var poly = require('./poly/index');
var order = require('./order/index');
var trad = require('./trad/index');

cnchar.use(order, trad, poly);

var fs = require("fs");
var readLine = require("readline");

// SVG中的有一些字cnchar是不能进行笔画解析的,这些字直接去掉就行了
function readFileToArr(fileName, callback) {

    var arr = [];
    var readObj = readLine.createInterface({
        input: fs.createReadStream(fileName)
    });

    // 一行一行地读取文件
    readObj.on('line', function (line) {
        console.log(cnchar.stroke(line, 'order', 'shape'));
        arr.push(line + " " + cnchar.stroke(line, 'order', 'shape'));
    });
    // 读取完成后,将arr作为参数传给回调函数
    readObj.on('close', function () {
        callback(arr);
    });
}


// 读取数据后,处理完成后放入outpu.txt
readFileToArr('./words.txt', function (arr) {
    // 通过回调得到的,按行获得的数据
    console.log(arr);

    var tempArr = [];

    arr.forEach((ele) => {
        tempArr.push(ele);
    });
    fs.writeFile('./outputs.txt', tempArr.join("\n"),
        function (err) {
            if (err) throw err; 
        });
});

相关github:

  1. https://github.com/skishore/makemeahanzi
  2. https://github.com/theajack/cnchar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值