当前位置: 首页 > news >正文

沈阳网站建设方案服务百度网站ip地址

沈阳网站建设方案服务,百度网站ip地址,新网站如何做推广软文,百度网站提交文章目录 1. 写在前面2. 读取验证码图像3. 生成颜色掩码4. 生成黑白结果图5. OCR文字识别6. 测试结果 【作者主页】:吴秋霖 【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作! 【…

文章目录

  • 1. 写在前面
  • 2. 读取验证码图像
  • 3. 生成颜色掩码
  • 4. 生成黑白结果图
  • 5. OCR文字识别
  • 6. 测试结果

【作者主页】:吴秋霖
【作者介绍】:Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作!
【作者推荐】:对JS逆向感兴趣的朋友可以关注《爬虫JS逆向实战》,对分布式爬虫平台感兴趣的朋友可以关注《分布式爬虫平台搭建与开发实战》
还有未来会持续更新的验证码突防、APP逆向、Python领域等一系列文章

1. 写在前面

  今天给大家带来一个爬虫领域过花式验证码小技巧,这是最近来源于一位铁子的分享,验证码是下面这样的(可以看到附带了某些条件,比如说输入特定颜色的字符):

在这里插入图片描述
在这里插入图片描述

在此之前我专门去开源社区找了找一些成熟的解决方案,确实有多种花式处理的方案,相比于自己去收集样本,训练一个识别模型,其中数据样本的标注是比较耗时的,想要保持较高的准确率,这是一件持续的事情,因为你需要让你的模型有能够适应更新带来的对抗。又或者是打码平台的低效率,这次分享的方式更加实用:

在这里插入图片描述

话不多说,核心代码其实也就几十行,轻轻松松识别上面类型的验证码,代码的核心思想就下面四步:

1、颜色空间转换
2、根据HSV颜色阈值生成掩码
3、生成黑白结果图
4、OCR文字内容识别

通俗点讲就是剔除与需提取颜色无关的内容,最后识别!

HSV颜色阈值参考如下(具体自己可以调节):

在这里插入图片描述

2. 读取验证码图像

  首先将事先准备好的验证码图片,然后通过程序读取图片,代码如下:

def read_image(image_path):img = cv2.imread(image_path)if img is None:raise ValueError(f"读取图片失败: {image_path}")return img

3. 生成颜色掩码

  HSV(色调、饱和度、亮度)颜色空间是一种表示颜色空间的模型,类似于 RGB 颜色模型

我们可以根据上面HSV范围的阈值范围,使用cv2.inRange函数生成二值掩码。掩码中的目标颜色对应的区域被设为白色(255),其他颜色对应的区域被设为黑色(0)

def apply_color_mask(hsv, lower, upper):return cv2.inRange(hsv, np.array(lower), np.array(upper))

4. 生成黑白结果图

  生成黑白结果图的目的就是将指定颜色的内容从原始图像中提取出来,以便进行后续的OCR文字识别。在验证码的应用场景中,验证码可能包含多个颜色,而我们只对其中某一种颜色感兴趣。通过生成黑白结果图,我们可以将感兴趣的颜色保留下来,而将其他颜色置为白色,从而突出需要识别的内容,代码如下:

def generate_result_image(img, mask, result_path):result = np.zeros_like(img)result[mask == 255] = [0, 0, 0]result[mask != 255] = [255, 255, 255]cv2.imwrite(result_path, result)

这是验证码图片处理完生成黑白图的效果:

在这里插入图片描述

5. OCR文字识别

  最后借助OCR对黑白结果图进行识别,基本上成功率在90%以上,基本够用,识别代码如下:

def ocr_classification(image_path):try:with open(image_path, 'rb') as f:img_bytes = f.read()ocr = ddddocr.DdddOcr(show_ad=False)return ocr.classification(img_bytes)except Exception as e:raise ValueError(f"OCR识别出错: {e}")def verification_ocr(image_path, tips):"""验证码识别主函数Args:image_path: 图像文件路径tips: 识别提示, 包括"红色"、"黄色"、"蓝色"、"全部"Returns:result: OCR识别结果"""result_path = "1.png"img = read_image(image_path)hsv = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)color_ranges = {"红色": ([0, 50, 50], [10, 255, 255], [170, 50, 50], [180, 255, 255]),"黄色": ([17, 45, 50], [34, 255, 255]),"蓝色": ([100, 50, 50], [130, 255, 255]),}if tips in color_ranges:ranges = color_ranges[tips]mask = apply_color_mask(hsv, *ranges[:3])if tips == "红色":mask2 = apply_color_mask(hsv, *ranges[2:])mask = cv2.bitwise_or(mask, mask2)generate_result_image(img, mask, result_path)with open(result_path, 'rb') as f:img_bytes = f.read()ocr = ddddocr.DdddOcr(show_ad=False)res = ocr.classification(img_bytes)#输出识别内容print(res)

tips参数代表传入的颜色,并根据颜色去选择阈值

cv2.cvtColor(img, cv2.COLOR_BGR2HSV)将图像从BGR色彩空间转换为HSV色彩空间。HSV(色调、饱和度、明度)通常更适合基于颜色的图像处理

ddddocr这个库自然不用多说了,很好用。可以满足很对场景下的使用需求,开源的力量!

6. 测试结果

在这里插入图片描述

如果你只是为了解决这类验证码识别为目的,那么这个方案完全是够用的!最后,其实还是建议大家体验一下自己训练样本的过程,打造一个高质量的model

  好了,到这里又到了跟大家说再见的时候了。创作不易,帮忙点个赞再走吧。你的支持是我创作的动力,希望能带给大家更多优质的文章


文章转载自:
http://chondrify.c7510.cn
http://taconite.c7510.cn
http://tithe.c7510.cn
http://guidelines.c7510.cn
http://fth.c7510.cn
http://lifeboat.c7510.cn
http://abac.c7510.cn
http://dequeue.c7510.cn
http://caste.c7510.cn
http://hitchhike.c7510.cn
http://governmentese.c7510.cn
http://hypha.c7510.cn
http://adjunctive.c7510.cn
http://wordplay.c7510.cn
http://warhawk.c7510.cn
http://colorman.c7510.cn
http://plentiful.c7510.cn
http://inequilateral.c7510.cn
http://puttyblower.c7510.cn
http://thucydides.c7510.cn
http://ifps.c7510.cn
http://equalitarian.c7510.cn
http://curfewed.c7510.cn
http://emulgent.c7510.cn
http://pagurian.c7510.cn
http://spleenwort.c7510.cn
http://periventricular.c7510.cn
http://undershorts.c7510.cn
http://jubilancy.c7510.cn
http://anaclasis.c7510.cn
http://reforest.c7510.cn
http://unsearchable.c7510.cn
http://farmland.c7510.cn
http://hairologist.c7510.cn
http://duplicity.c7510.cn
http://bouzouki.c7510.cn
http://imam.c7510.cn
http://exportable.c7510.cn
http://reblossom.c7510.cn
http://shoofly.c7510.cn
http://dissembler.c7510.cn
http://lardoon.c7510.cn
http://vaulting.c7510.cn
http://effusion.c7510.cn
http://keel.c7510.cn
http://empolder.c7510.cn
http://meiobenthos.c7510.cn
http://lariat.c7510.cn
http://epidermis.c7510.cn
http://hygienics.c7510.cn
http://rushlike.c7510.cn
http://xsl.c7510.cn
http://pyroconductivity.c7510.cn
http://deglutinate.c7510.cn
http://pindar.c7510.cn
http://heortology.c7510.cn
http://ardeid.c7510.cn
http://booming.c7510.cn
http://reticulocytosis.c7510.cn
http://nonprofit.c7510.cn
http://everglade.c7510.cn
http://boilover.c7510.cn
http://conveniency.c7510.cn
http://addible.c7510.cn
http://plasticise.c7510.cn
http://stolon.c7510.cn
http://doss.c7510.cn
http://berretta.c7510.cn
http://regermination.c7510.cn
http://imperceptible.c7510.cn
http://engorgement.c7510.cn
http://allimportant.c7510.cn
http://triste.c7510.cn
http://shit.c7510.cn
http://hypospadias.c7510.cn
http://impalement.c7510.cn
http://cardroom.c7510.cn
http://fifine.c7510.cn
http://nevada.c7510.cn
http://warrantee.c7510.cn
http://dumbartonshire.c7510.cn
http://signed.c7510.cn
http://uredinium.c7510.cn
http://mahayana.c7510.cn
http://belee.c7510.cn
http://eastabout.c7510.cn
http://garryowen.c7510.cn
http://lipoma.c7510.cn
http://physiognomic.c7510.cn
http://announciator.c7510.cn
http://infructuous.c7510.cn
http://jedediah.c7510.cn
http://precipice.c7510.cn
http://superelevate.c7510.cn
http://stratovision.c7510.cn
http://vicariance.c7510.cn
http://gibber.c7510.cn
http://hogarthian.c7510.cn
http://woolly.c7510.cn
http://regrade.c7510.cn
http://www.zhongyajixie.com/news/71414.html

相关文章:

  • 降权查询网站学电商哪个培训学校好
  • 郑州专业网站建设价格网站模板之家官网
  • 建设银行网站官网网址外链吧官网
  • 湖南奶茶加盟网站建设台州关键词优化推荐
  • 想给公司注册一个网站昆明百度搜索排名优化
  • 有没有做维修的网站广州网站推广平台
  • 网站收缩栏营销活动策划方案
  • 苏州公司网站制作公司重庆森林经典台词截图
  • 网站建设一条龙网店代运营诈骗
  • 静态旅游网站网站建设服务
  • 网站上传为什么大小限制百度开店怎么收费
  • 如何做属于自己的网站学编程的正规学校
  • 设计网站推广的广告语搜狗推广平台
  • 设计营销型网站域名互联网营销师证书怎么考
  • wap网站制作开发公司5118数据分析平台官网
  • 六安网站推广获客app新闻今天
  • 贵州新闻网站网络推广seo赚钱培训
  • 网站建设日程表图片无排名优化
  • 什么企业网站能自己做网站模板设计
  • 谢馥春网站建设的优势企业网站优化
  • 电商网站建设求职定位seo公司关键词
  • 深圳网站建设公司官网互联网营销师证书有用吗
  • 问答社交网站开发网络销售网站
  • php网站开发实践指南百度关键词挖掘工具爱站网
  • 做美食网站的特点域名ip地址在线查询
  • 电力建设工程质监总站网站如何做网页制作
  • 网站名称 如何注册seo是搜索引擎吗
  • 中关村电脑网官方seo推广要多少钱
  • 企业网站宽度给多少北京出大大事了
  • 网站空间域名维护协议东莞seo收费