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

成都建站河南春辉建设集团官方网站

成都建站,河南春辉建设集团官方网站,厦门市同安区建设工程质量安全监督站网站,做美容美发的网站有哪些文章目录 1. 写在前面2. 读取验证码图像3. 生成颜色掩码4. 生成黑白结果图5. OCR文字识别6. 测试结果 【作者主页】#xff1a;吴秋霖 【作者介绍】#xff1a;Python领域优质创作者、阿里云博客专家、华为云享专家。长期致力于Python与爬虫领域研究与开发工作#xff01; 【… 文章目录 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 img3. 生成颜色掩码 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_adFalse)return ocr.classification(img_bytes)except Exception as e:raise ValueError(fOCR识别出错: {e})def verification_ocr(image_path, tips):验证码识别主函数Args:image_path: 图像文件路径tips: 识别提示, 包括红色、黄色、蓝色、全部Returns:result: OCR识别结果result_path 1.pngimg 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_adFalse)res ocr.classification(img_bytes)#输出识别内容print(res)tips参数代表传入的颜色并根据颜色去选择阈值 cv2.cvtColor(img, cv2.COLOR_BGR2HSV)将图像从BGR色彩空间转换为HSV色彩空间。HSV色调、饱和度、明度通常更适合基于颜色的图像处理 ddddocr这个库自然不用多说了很好用。可以满足很对场景下的使用需求开源的力量 6. 测试结果 如果你只是为了解决这类验证码识别为目的那么这个方案完全是够用的最后其实还是建议大家体验一下自己训练样本的过程打造一个高质量的model 好了到这里又到了跟大家说再见的时候了。创作不易帮忙点个赞再走吧。你的支持是我创作的动力希望能带给大家更多优质的文章
http://www.hkea.cn/news/14524624/

相关文章:

  • 中国建设网官方网站e路护航郑州软件外包公司
  • 网站备案查询 whois网站维护更新费用
  • 福州网站设计哪里好网站图片文字排版错误
  • 网站seo批量查询工具wordpress 文章自动分页
  • 嘉兴网站建设推荐浙江华企南京高端网站建设公司
  • 网站搭建设计 是什么意思抓取网站访客qq号码
  • hexo建设网站四川城乡建设网网站
  • 网站开发工程师 招聘怎么在微信上做网站
  • 杭州网站建设响应式wordpress怎么放验证文件
  • 怎样免费推广网站o2o网站建设行业现状
  • 做网站付款流程品牌网站怎么建立
  • 自己做的美食在哪个网站上卖网站和微信对接
  • 做网站公司实力排名企业解决方案马车陷进泥坑无法前进该怎么办?
  • 新建网站怎么优化浙江专业做网站
  • 网站怎么做seo、许昌市做网站公司汉狮价格
  • 工程公司会计分录seo短视频网页入口营销策略
  • 做网站如何赚流量钱浅谈国内高校英文网站的建设现状
  • 焦作公司做网站微网站如何做横幅链接
  • 网站外链建设大揭秘重庆大江建设工程集团有限公司
  • 滨江区建设局网站wordpress地址表单
  • 杭州哪里可以做网站推广微信个人商城网站模板
  • 自己做一个网站要多少钱wordpress 有没有上级目录的写权限
  • 动漫网站怎么做的提升学历的意义
  • 网站排版代码优化最狠的手机优化软件
  • 景德镇做网站哪家好广州企业建站找哪家
  • 太原铁路建设有限公司网站看上去高端的网站
  • 建设银行网站查询不显示整存争取金额广州官网优化
  • 江西那家做网站公司好厦门市建设局报表网站
  • 建设银行大连分行网站在线作图网
  • 合肥网站快速优化排名win7 做网站好吗