你建议 zinnia 进行手写识别吗?我搜索并找到了一些图书馆,但其中一些需要针对每个不同人的手写进行培训。百日草是否需要针对每种不同的手写体进行培训?我阅读了它的网站,但找不到。
我还需要一个 C++ 库,我可以找到一些可以使用 C 或 Java 访问的库。
还有一个问题,文档中没有答案:
character->add(0, 51, 29);
上面定义了什么,什么是 51 和 29。
我可以将百日草用于像英语这样的拉丁字母吗?我在谷歌上看到的只有日语用法示例。这是 zinnia 网站上的示例代码:
#include <iostream>
#include "zinnia.h"
int main(int argc, char **argv) {
zinnia::Recognizer *recognizer = zinnia::Recognizer::create();
if (!recognizer->open("/usr/local/lib/zinnia/model/tomoe/handwriting-ja.model")) {
std::cerr << recognizer->what() << std::endl;
return -1;
}
zinnia::Character *character = zinnia::Character::create();
character->clear();
character->set_width(300);
character->set_height(300);
character->add(0, 51, 29);
character->add(0, 117, 41);
character->add(1, 99, 65);
character->add(1, 219, 77);
character->add(2, 27, 131);
character->add(2, 261, 131);
character->add(3, 129, 17);
character->add(3, 57, 203);
character->add(4, 111, 71);
character->add(4, 219, 173);
character->add(5, 81, 161);
character->add(5, 93, 281);
character->add(6, 99, 167);
character->add(6, 207, 167);
character->add(6, 189, 245);
character->add(7, 99, 227);
character->add(7, 189, 227);
character->add(8, 111, 257);
character->add(8, 189, 245);
zinnia::Result *result = recognizer->classify(*character, 10);
if (!result) {
std::cerr << recognizer->what() << std::endl;
return -1;
}
for (size_t i = 0; i < result->size(); ++i) {
std::cout << result->value(i) << "\t" << result->score(i) << std::endl;
}
delete result;
delete character;
delete recognizer;
return 0;
}
谢谢。