gpt4 book ai didi

c++ - 如何去除图像中的小平行线?

转载 作者:太空狗 更新时间:2023-10-29 20:15:38 24 4
gpt4 key购买 nike

二值化后我有黑白图像。之后我有如下图像:

http://ifotos.pl/zobacz/ipng_xhnxhrh.png/

如何使用 OpenCV 删除与长曲线平行的小线?。我可以通过删除所有小对象来删除它们,但我只想删除小平行行。

最佳答案

对我来说,这看起来像是 Canny 神器(或某种响铃神器)。有几种方法可以删除它们。

一种基于经验但计算量不大的方法是定位所有小特征,并将它们与偏移 [+/-]X、[+/-]Y 的同一图像叠加。如果该特征与移位后的图像完全一致,即白色特征中的所有像素在移位后的图像中也是白色的,那么您可能正在查看伪影。

要评估特征的“小”,您可以使用基本的填充。这种方法很便宜,因为您可以用指针模拟移位,而无需真正分配四个移位图像。在真正有小平行线的地方容易出现误报,如果伪影非常大,则容易出现误报。

另一种方法是使用不同的阈值对原始图像进行二次分色。虽然“真实”的线条会保持在一起,但振铃的人工制品会有不同的强度。在这一点上,您评估图像差异,并考虑“伪像”所有距离图像轨迹给定阈值的特征。这需要更多的计算,产生更好的结果,但取决于原始图像的内容,即您的工作流程。

重新评估工作流程(改变边缘检测阶段)可能会完全避免伪影的产生。

关于c++ - 如何去除图像中的小平行线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12395486/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com