在下面表示条形图的图像中,如何隔离没有白色填充的条形图?
我正在寻找一个解决方案,这将对任何变化的图像。您可以假设格式是相同的,但是一些特性,比如网格线/轴线上的空白,可能在不同的位置。
我已经尝试过检测这些条的各种特性,比如条形图的26x3px末端,或者是左上角和右下角。例如,在左上角使用下面这样的掩码:
bar_top_kernel: Numpy = np.array([
[1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 1, 1, 1, 1, 1, 1, 1],
[1, 1, 0, 0, 0, 0, 0, 0, 0],
], dtype='uint8')或
bar_top_kernel: Numpy = np.array([
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[0, 1, 1, 1, 1, 1, 1, 1, 1, 1],
[0, 1, 1, 0, 0, 0, 0, 0, 0, 0],
], dtype='uint8')但是根据我的尝试,我要么会被漏角,要么会出现假阳性,因为条形线的末端与网格线是如何相互作用的。
我试过先移除网格线。但是由于杆端和网格线的相互作用,我倾向于得到干扰特征检测的部分。
我开始认为,如果没有某种ML方法,这可能是不可能的,但我希望有人会发现一个聪明的技巧来实现这一点。
(请点击查看完整尺寸)

发布于 2021-09-24 15:07:14
最后我想出了一个简单的窍门:
,
https://stackoverflow.com/questions/69300208
复制相似问题