如何从UCI的“Letter Image Recognition Dataset”等图像创建数据

时间:2009-08-13 08:34:53

标签: c++ opencv

我正在使用OpenCV中的letter_regcog示例,它使用了UCI的数据集,其结构如下:

Attribute Information:
     1. lettr   capital letter  (26 values from A to Z)
     2. x-box   horizontal position of box  (integer)
     3. y-box   vertical position of box    (integer)
     4. width   width of box            (integer)
     5. high    height of box           (integer)
     6. onpix   total # on pixels       (integer)
     7. x-bar   mean x of on pixels in box  (integer)
     8. y-bar   mean y of on pixels in box  (integer)
     9. x2bar   mean x variance         (integer)
    10. y2bar   mean y variance         (integer)
    11. xybar   mean x y correlation        (integer)
    12. x2ybr   mean of x * x * y       (integer)
    13. xy2br   mean of x * y * y       (integer)
    14. x-ege   mean edge count left to right   (integer)
    15. xegvy   correlation of x-ege with y (integer)
    16. y-ege   mean edge count bottom to top   (integer)
    17. yegvx   correlation of y-ege with x (integer)

示例:

T,2,8,3,5,1,8,13,0,6,6,10,8,0,8,0,8
I,5,12,3,7,2,10,5,5,4,13,3,9,2,8,4,10

现在我已经分割了字母图像,并希望将其转换为像这样的数据来识别它,但我不明白所有值的意思,如“6. onpix total#on pixels”是什么意思?你能解释一下这些价值的意思吗?感谢。

2 个答案:

答案 0 :(得分:5)

我不熟悉OpenCV的letter_recog示例,但这似乎是一个特征向量,或一组关于字母图像的统计信息,用于对字母的未来出现进行分类。您的分段结果应该为您留下一个二进制掩码,字母为1,其他地方为0。 onpix只是落在字母上的像素总数,换句话说就是二进制掩码的总和。

列表中的大多数其余值需要根据二进制掩码中值为1的像素集计算。 x和y只是像素的位置。例如,x-bar只是掩模中具有1的所有像素的所有x位置的样本均值。您应该能够在网上轻松找到关于均值,方差,协方差和相关性的数学定义的参考文献。

14-17有点不同,因为它们基于边缘像素,但计算应该相似,只是在一组不同的像素上。

答案 1 :(得分:3)

我的名字是Antonio Bernal。 在本文的第3页中,您将找到每个值的良好描述。 的 Letter Recognition Using Holland-Style Adaptive Classifiers

如果您有任何疑问,请告诉我。 我试图让这个算法工作,但我的问题是我不知道如何缩放值以使它们适合0-15的范围。 你知道怎么做吗?

Google学者的另一个链接 - >的 Letter Recognition Using Holland-Style Adaptive Classifiers