Image processing 从jpeg图像重建线条图

Image processing 从jpeg图像重建线条图,image-processing,jpeg,Image Processing,Jpeg,我希望从JPEG图像中重新创建字符和图形原语。虽然JPEG传输是有损的,但由于原稿(可能)是单色的,并且具有定义良好的原稿,因此可以在很大程度上重建。我想要能够增强信噪比的算法或启发式算法。这是一个典型的例子: 我已经应用了Canny边缘检测算法,并获得了数字边缘的良好识别,但这也包括噪声: 我试图通过以一半的强度将背景分为黑白来消除背景,这会产生: 去除背景,但轮廓变差 我可以尝试启发式的解决方案,但这将需要时间和任意性,所以我想知道是否已经有解决方案 注意:有一个问题与亚像素渲染有关,

我希望从JPEG图像中重新创建字符和图形原语。虽然JPEG传输是有损的,但由于原稿(可能)是单色的,并且具有定义良好的原稿,因此可以在很大程度上重建。我想要能够增强信噪比的算法或启发式算法。这是一个典型的例子:

我已经应用了Canny边缘检测算法,并获得了数字边缘的良好识别,但这也包括噪声:

我试图通过以一半的强度将背景分为黑白来消除背景,这会产生:

去除背景,但轮廓变差

我可以尝试启发式的解决方案,但这将需要时间和任意性,所以我想知道是否已经有解决方案


注意:有一个问题与亚像素渲染有关,它需要一种完全不同的方法。

好的,这不是严格意义上的答案,只是展示了一个示例,说明了我在边缘检测之前去除噪声的意思

以下序列使用原始图像,通过使用ImageJ自动选择参数,我执行了以下操作:

  • 将RGB原稿转换为8位灰度(删除大部分背景)
  • 灰度等值的自动阈值
  • 转换成二进制
  • 跟踪轮廓并反转结果
  • 也许这是一个更好的起点-下面的顺序显示了您的原始数据、步骤2的输出和步骤4的输出:


    一般来说,在Canny之前,我会尽可能多地降低噪音-同时我会仔细观察…@罗杰同意。另外,我正在制作一个放大的图像,这也很有帮助。但在这类问题上,我对坎尼印象深刻。太好了!请注意,正如我所知道的,我正在寻找的(数字、ANSI字符子集和直线)启发式从现在起将很好地工作。很高兴知道ImageJ可以工作——如果因为尺寸原因可以避免的话,我不愿意将它捆绑到我的东西中。我可以自己创建一个简单的自动阈值。没问题-ImageJ的优点是它是开源的,所以你可以很容易地看到它的算法是如何实现的。我所有的东西都是OSS。我的计划是阅读PDF格式的科技论文。我可以用嵌入式PS处理大部分文本和图形-这是下一个阶段-图像。很有趣-这就像PDF中嵌入图像的OCR一样吗?你有链接让我可以满足我的好奇心吗。我将调整README.txt。其想法是从PDF中阅读整个科学文献,并使其具有语义。它比大多数OCR容易得多,因为一切都是数字化的,一切都是对齐的,单色的,等等。我们的第一个目标是提取生物多样性的生命树。我们欢迎志愿者:-)