none
如何识别验证码 RRS feed

答案

  • 不知题主所需验证码识别的主要使用场景是什么?

    1.自行研究识别算法

    如果就验证码识别这个课题,可以值得你好好研究一番,不是一个帖子能讲清楚的。大概的流程就是,读入图片流,灰度,二值操作,去噪,分割,识别。其中二值操作,去噪,分割与识别分别有不同的算法,需要根据验证码的不同特征来优化不同的算法。不过你要是能将上面的研究好,你图片中的验证码大约可以达到80%的识别率。

    除此之外还有两种相对简单一点的办法分别是ORC识别和打码平台接入,这两种办法相对上面所述的研究难度低一些。

    2.ORC识别

    ORC识别有现成的开源代码可用,对英文与数字的识别率比中文的是比率高。比较有名的是Tesseract,可支持英文、中文、日文与韩文。接入成功后,需要根据不同类型的样本进行训练,理论样本越多,识别率会越高。

    3.打码平台

    基本不需要多大的学习成本,比较有名的是打码兔。接入这样的平台后,传入图片流后,直接返回识别字符串。复杂的验证码基本是全人工识别的方式,识别率较高。

    从上可以看出,第一种方法依赖图片的特征,不同的特征识别方式和图片的处理算法均不相同,同时对复杂的验证码无法保证识别率。

    因此如果题主所需要识别的验证码样式固定且验证码形式简单,而预算有限,可以考虑第一或第二种方法。在保证前面所述的前提下,这两种方法都可以做到一劳永逸,且无需付费。

    如果所识别的验证码形式复杂,那可以考虑接入打码平台,这样及能方便接入无需太多研究成本,同时可以保证很好的识别率。

    • 已标记为答案 耳际了 2017年6月12日 1:28
    2017年1月25日 2:40

全部回复

  • Hi,

    验证码都是图片格式,C#是可以获取一张图片,并且把它放到内存里面的, 接下来你是需要处理这个内存,需要用到图像识别的算法,什么图像二值化算法,一些常规的算法实现,你可以使用openCV这个开源的工具。里面有对应的函数,解析这个图片的内容。opencv在C#中也是可以用的。

    Best Regards,

    Hart

    如果你的问题解决了,请及时标记有用的回复作为答案,这样会帮助遇到相同问题的人。


    Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.

    2017年1月18日 7:56
    版主
  • 不知题主所需验证码识别的主要使用场景是什么?

    1.自行研究识别算法

    如果就验证码识别这个课题,可以值得你好好研究一番,不是一个帖子能讲清楚的。大概的流程就是,读入图片流,灰度,二值操作,去噪,分割,识别。其中二值操作,去噪,分割与识别分别有不同的算法,需要根据验证码的不同特征来优化不同的算法。不过你要是能将上面的研究好,你图片中的验证码大约可以达到80%的识别率。

    除此之外还有两种相对简单一点的办法分别是ORC识别和打码平台接入,这两种办法相对上面所述的研究难度低一些。

    2.ORC识别

    ORC识别有现成的开源代码可用,对英文与数字的识别率比中文的是比率高。比较有名的是Tesseract,可支持英文、中文、日文与韩文。接入成功后,需要根据不同类型的样本进行训练,理论样本越多,识别率会越高。

    3.打码平台

    基本不需要多大的学习成本,比较有名的是打码兔。接入这样的平台后,传入图片流后,直接返回识别字符串。复杂的验证码基本是全人工识别的方式,识别率较高。

    从上可以看出,第一种方法依赖图片的特征,不同的特征识别方式和图片的处理算法均不相同,同时对复杂的验证码无法保证识别率。

    因此如果题主所需要识别的验证码样式固定且验证码形式简单,而预算有限,可以考虑第一或第二种方法。在保证前面所述的前提下,这两种方法都可以做到一劳永逸,且无需付费。

    如果所识别的验证码形式复杂,那可以考虑接入打码平台,这样及能方便接入无需太多研究成本,同时可以保证很好的识别率。

    • 已标记为答案 耳际了 2017年6月12日 1:28
    2017年1月25日 2:40