Graphics 区分表格行和大号字母
我正在做一些图形处理,我有一个逻辑,在这里我有一个带边的位图,我忽略了字母中的所有表格边Graphics 区分表格行和大号字母,graphics,quartz-graphics,edge-detection,Graphics,Quartz Graphics,Edge Detection,我正在做一些图形处理,我有一个逻辑,在这里我有一个带边的位图,我忽略了字母中的所有表格边 0000000000 0111111110 0100000010 0102220010 0100200010 0100200010 0100000010 0111111110 0000000000 0-背景色 1-忽略的边 我需要两条边 我的逻辑很简单,如果一些连续像素超过某个阈值,例如连续边缘的20个像素,它会把它看作一个线,而忽略它。 我的问题是,对于大字体和字母,如H和T,它肯定会超过阈值。请告知我
0000000000
0111111110
0100000010
0102220010
0100200010
0100200010
0100000010
0111111110
0000000000
0-背景色1-忽略的边
我需要两条边 <>我的逻辑很简单,如果一些连续像素超过某个阈值,例如连续边缘的20个像素,它会把它看作一个线,而忽略它。 我的问题是,对于大字体和字母,如H和T,它肯定会超过阈值。请告知我是否有更好的方法或额外的逻辑需要实现,以便将表格行与字母分开
[更新]其他注意事项:性能,此逻辑将在触摸移动(拖动)期间使用。它将被调用很多次,因此需要快速执行。如果表行保证为细线,则忽略粗线。但是,如果应用程序中的线条是通过边缘检测生成的(通常为1像素细),则需要连接的组件 基本上,“厚度”是指从边缘轮廓测量的厚度:
- 00000000 100000000此线的厚度为1
- 000000 11111 000000这条线的厚度为5。但是,在边缘检测的输出中不会出现这种情况,因为边缘检测算法是专门为消除这种情况而设计的
- 00000000 111111111这是从黑色到白色的过渡
表线通常厚度较小。大字体通常有从黑色到白色的过渡,因为它们的厚度大于“边缘轮廓”窗口。如果保证表格线条很细,则忽略粗线条。但是,如果应用程序中的线条是通过边缘检测生成的(通常为1像素细),则需要连接的组件 基本上,“厚度”是指从边缘轮廓测量的厚度:
- 00000000 100000000此线的厚度为1
- 000000 11111 000000这条线的厚度为5。但是,在边缘检测的输出中不会出现这种情况,因为边缘检测算法是专门为消除这种情况而设计的
- 00000000 111111111这是从黑色到白色的过渡
表线通常厚度较小。大字体通常有从黑色到白色的过渡,因为它们的厚度大于边缘轮廓窗口。似乎是一个可行的解决方案,我将首先尝试,如果可行,稍后再接受。谢谢,这似乎是一个可行的解决方案,我会先试试,如果可行的话,我会接受的。非常感谢。