首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenCV修复扫描文档缺失(白色像素)扫描线

OpenCV修复扫描文档缺失(白色像素)扫描线
EN

Stack Overflow用户
提问于 2017-10-27 01:07:59
回答 1查看 390关注 0票数 2

我有大约500页的PNG代表了20世纪80年代早期的数字DECsystem-20 KL10PV大型机的原理图(可公开使用)。扫描过程是有缺陷的,因为随机分布在PNG中的是白线,这些白线代表着绘图中系统的“盐”。这干扰了我用来恢复原理图的过程-- OCR和恢复组件和互连的netlist。

在一个示例区域周围有一个带有红色标记的完整示意图页面,显示我正在讨论的问题,它是这里

我可以使用什么神奇的OpenCV机制来检测这些白色条带,并通过复制上面一行和下面一行的平均值或类似的方法来“治愈”它们呢?一旦我找到一种机制来系统地识别这些缺陷,我希望尝试几种“治愈”技术来找到最好的一种。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-27 07:28:48

你是说像这样?

该方法采用模糊化和形态学相结合的方法对图像进行处理。我借用了这里的代码

代码语言:javascript
复制
    int morph_elem = 1;
    int morph_size = 1;
    int morph_operator = 0;

    Mat origImage = mat;
    medianBlur(origImage, origImage,1);
    cvtColor(origImage, origImage, COLOR_RGB2GRAY);
    threshold(origImage, origImage, 0, 255, THRESH_OTSU);

    Mat element = getStructuringElement(morph_elem, Size(2 * morph_size + 1, 2 * morph_size + 1), cv::Point(morph_size, morph_size));

    morphologyEx(origImage, origImage, MORPH_OPEN, element);
    //thin(origImage, true, true, true);
    imshow("@", origImage);

恐怕我真的没有热情写出许多不同的方式,这并不是堆栈溢出的真正目的。不过,这个建议的方法可能会让你走上正确的道路。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46966022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档