Opencv 如何在没有背景的情况下预处理信用卡并提取号码

Opencv 如何在没有背景的情况下预处理信用卡并提取号码,opencv,preprocessor,ocr,Opencv,Preprocessor,Ocr,我正在尝试制作一个像card.io这样的信用卡ocr引擎。但是,要将卡片预处理成无噪声的二值图像是非常困难的。我使用SWT算法,但它并不适用于所有卡。有各种各样的低对比度背景和压印号码的信用卡。对于OCR来说,很难设计一个通用的算法来对卡片进行良好的预处理,所以有没有人对这种卡片处理有经验。下图是我很难预处理的卡片示例 问题是,信用卡故意很难阅读(因此很难处理)。我所能做的就是,将它们转换成灰度,并添加一些水平sobel过滤器,然后再进行一些转换。但仍然很难提取只有数字的二值图像。。。当然,不同

我正在尝试制作一个像card.io这样的信用卡ocr引擎。但是,要将卡片预处理成无噪声的二值图像是非常困难的。我使用SWT算法,但它并不适用于所有卡。有各种各样的低对比度背景和压印号码的信用卡。对于OCR来说,很难设计一个通用的算法来对卡片进行良好的预处理,所以有没有人对这种卡片处理有经验。下图是我很难预处理的卡片示例

问题是,信用卡故意很难阅读(因此很难处理)。我所能做的就是,将它们转换成灰度,并添加一些水平sobel过滤器,然后再进行一些转换。但仍然很难提取只有数字的二值图像。。。当然,不同的图像会有不同的结果。。。
祝你好运

我知道我迟到了,但在adrian rosebrock的博文中找到了解决办法-

该技术是使用opencv执行模板匹配 然后对信用卡图像进行灰度、形态学和阈值滤波

然后我们可以找到我们感兴趣的轮廓,也就是说,具有相关高宽比的轮廓

一旦我们得到了我们感兴趣的轮廓(带有一组数字的轮廓),我们可以再次找到并提取单个数字。然后我们可以将这些数字与模板图像中的数字进行比较


通过这种方式,我们可以OCR信用卡

我想没有任何法律理由进行CC OCR。它就像card.io一样,这是一种新的移动设备支付方式。我只想谈谈这项技术,我不想在这里讨论法律问题。欢迎链接到解决方案,但请确保您的答案在没有它的情况下是有用的:这样您的其他用户就会知道它是什么以及为什么存在,然后引用您链接到的页面的最相关部分,以防目标页面不可用@米特兰迪尔我编辑了答案。我觉得这已经足够了,其他的一切都在博客里解释了