c++ - opencv 中的 OCR - 如何传递对象

标签 c++ opencv ocr image-recognition

我想在 OpenCV 中编写 OCR。我需要识别单个字母。我想使用 K 最近邻。我想识别不同大小和字体以及手写的字母。

所以,我将准备要训练的图像。第一个问题是。我应该在 (1) 相同大小的图像或 (2) 适合的图像中使用字母吗?

1)

(1)

2)

enter image description here

找到的字母怎么样?我应该将它传递为 1(与火车图像大小相同)还是 2(刚好适合字母的矩形)???

最佳答案

“基准”MNIST dataset按照您描述的场景 (1) 中的规范化和居中字符。如果您只对分类感兴趣,那么您的操作方式可能会有所不同。

如果我没理解错的话,你的第二个问题与 ML 术语中所谓的“预处理”有关。如果您应用转换将每个原始图像转换为 (1) 或 (2) 类型之一,则称为预处理步骤——无论您选择哪个。无论您对训练集进行何种预处理,都必须在应用模型之前对数据进行完全相同的预处理。

为简单起见,如果您有一个巨大的数据集,您想要将其拆分为“训练”和“测试”示例,请先将其转换为“预处理数据”集,然后拆分该数据集。这样您就可以确保训练和测试使用完全相同的转换参数。

关于c++ - opencv 中的 OCR - 如何传递对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28126482/

相关文章:

java - 使用 OpenCV 将两个图像拼接在一起时抛出异常

opencv - FDDB评估代码

c# - 字体不变的简化 OCR

c++ - WinAPI:创建没有标题栏的可调整大小的窗口,但带有最小化/最大化/关闭按钮(如 Firefox/Chrome/Opera)

c++ - 初始化指向结构 C++ 的 const 指针

c++ - 我无法通过 C++ 中的函数式编程重现函数内存

c++ - OpenCV 将列添加到矩阵

python - 通过 scipy.misc.imsave 将图像保存为 tif 时如何指定 dpi?

python - 如何根据图像质量确定使用哪种 OCR 方法

c++ - 修改嵌套lambda中捕获的参数 : gcc vs clang?