【发布时间】:2017-06-03 13:15:00
【问题描述】:
我正在使用this article 来解决验证码问题。它的工作原理是使用 AForge 从图像中移除背景,然后将 Tesseract OCR 应用于生成的清洁图像。
问题是,它目前依赖于黑色字母,并且由于每个验证码都有不同的文本颜色,我需要将颜色传递给图像清洁器,或者将字母的颜色更改为黑色。做任何一个,我需要知道字母的现有颜色是什么。
如何识别字母的颜色?
【问题讨论】:
-
并非万无一失,但您的字母看起来都是相同的颜色;它们可能是图片中最常见的颜色。您可以将顶部颜色变为黑色,检查结果,如果失败,请尝试下一个或两个。
-
嗯,AForge 有检测斑点的功能,所以您可以使用这些功能来获取字母斑点并从那里计算颜色。
-
注意: 如果您想下载 MSDN 项目并尝试一下,请确保将其解压缩到文件夹名称中没有
#字符的文件夹,如#将导致构建失败。 -
您可以间接检测颜色的唯一方法(因为如果您知道字母的颜色,您就会知道字母本身)。我的第一反应是将其转换为灰度,然后处理两次:一次是原始灰度,一次是灰度反转,如果初始尝试失败。
-
恕我直言,如果您尝试创建 Minimal, Complete, and Verifiable example,我可以为您提供更好的帮助,我坚信 代码清晰和简洁跨度>
标签: c# captcha tesseract aforge