哪个度量表明数据的平滑变化?

时间:2011-05-02 04:09:30

标签: math image-processing opencv statistics

我正在尝试根据线条/笔划的粗细比较文本和非文本区域。使用距离变换和其后的一些摆弄,设法获得包含图片中特征的每个笔划的厚度(实际上是厚度的一半)。

以下是程序运行的典型结果:

1.文本区域

  

34444433343554335533553555545544455445533444444344455435553335545556665444445654444444444444444444444444455434554554455444456544444445555445555543355556665544665444535444553354434553444444444444455444445544444454444444444444444444444444455442444444554444444544444444444444554444456444554414454444444444444444444554444445543454445443444544434443344443334442133223332221

  1. 非文本
  2.   

    1111112222212222222213333232111112234444411415445125544126143211123445716422457887433442222991443110103332222113111163124134444312122222222224551313122222222222243455553141432222222232111422222351515513211134161412234411743111111454181813111434555191113145520111322223334554452121204233145433467891011121311732525252524202022213137326252419192112222222335831818204233332222344315625171714334444451111788992225161619334538215151811341234258811414113111223144488242413131711332543444872416135247724113223544356152554433333332666652323151444444336675523151344443335566523881333444552222113344445514141433345555202120141114444444345201433355644454191313322333474351818134322266657342171266672415161131145657419111421316665581447891113151513135555555586745556555588551214145145335557888755141314774333455886555141011111211981417776348524111099814144444556414341181114135447434567845534444334881088891011111213141113477734444379888881414144477437254448998834733764226777753781313577776677654466665753466 712124666645444551124476735456655444432446663254664411476757773464147322222777455332224237738833223378121242311333378583438869913135923222344338101013139943333115533910111111884112155339910101011111111101111111097777778855544553991010111111111111111110999999101111111110777764111113561091097543434552999989998666544436554888778755554455541444465554317777774555555544455556665555564424443356433222345222124422341111312111214411322222223222231221143334424322342222123536411441664431775446548856766655885555664444644665449876444477544227887772

    那么是否存在比标准偏差更复杂的统计指标,它们表明两个数据集的差异:一个逐渐变化,而第二个变化幅度很大? (包括可怕的数字来说明我试图量化的内容!)

    另请注意,数据点的数量不会相同,因为我将比较不同地区的实验确定的SD阈值(或其他一些指标),而不是它们之间的区域。

2 个答案:

答案 0 :(得分:3)

如果您对测量平滑度感兴趣,相邻厚度之间的差异的标准差应该比非文本小得多。

您可以简单地转换

  

34444433343554335533553555545544455445533444444344455435553335545556665444445654444444444444444444444444455434554554455444456544444445555445555543355556665544665444535444553354434553444444444444455444445544444454444444444444444444444444455442444444554444444544444444444444554444456444554414454444444444444444444554444445543454445443444544434443344443334442133223332221

  

1000(-1)000 ...

(1 = 4-3,0 = 4-4等)。对于文本区域,此差异列表的标准偏差很小(在您的示例中,此列表包含许多零)。

如果您需要使用0到9之间的数字来表示厚度t1和厚度t2之间的厚度差异,则可以执行重新缩放:round((t2-t1+9)/2)

答案 1 :(得分:2)

我想到的想法是你可以对一个块进行小波变换,然后查看与高频小波相关的平均能量。

如果您不熟悉小波,最简单的描述是Haar wavelet。假设您采样的点数为2 n ,您可以按如下方式计算:

  1. 将您的数据划分为多对点。
  2. 取差异的1/2。这是细节小波的系数。
  3. 取每对的平均值。这给你2个 n-1 点。递归地对它们进行小波变换。
  4. 对于Haar小波的每个级别,取系数平方的平均值。如果您的数据看起来与您所描述的相似,那么前几个级别的统计数据将会非常不同。实验,确定你的阈值在哪里,你可能会有一个非常可靠的测试。 (我建议您从测试中获得3个可能的答案,“文本”,“不是文本”,“不清楚”。查看“不清楚”的示例,然后改进您的测试。)