gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:07:47 25 4
gpt4 key购买 nike

我有大约 500 页 PNG 代表 1980 年代初期 DIGITAL DECsystem-20 KL10PV 大型机(公开可用)的示意图。扫描过程存在缺陷,随机散布在 PNG 中的是代表绘图中系统“盐”的白线。这会干扰我用来恢复原理图的过程——OCR 以及元器件和互连网表的恢复。

A zoomed in part of a schematic page

示例区域周围带有红色标记的完整示意图页面显示了我正在谈论的问题是 here .

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

最佳答案

你是说这样?

enter image description here

这种特殊的方法使用模糊和形态学来处理图像。我从here借了代码

    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);

恐怕我真的没有热情去写很多不同的方法,这不是 Stack Overflow 的真正目的。不过,这种建议的方法可能会让您走上正确的道路。

关于c++ - OpenCV 修复扫描文档缺失(白色像素)扫描线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46966022/

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