IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> python爬虫验证码识别 (手把手教会你验证码识别)opencv图像处理 图片处理 验证码处理 降噪 简单易懂验证码处理 -> 正文阅读

[人工智能]python爬虫验证码识别 (手把手教会你验证码识别)opencv图像处理 图片处理 验证码处理 降噪 简单易懂验证码处理

前言:验证码是个烦人的小家伙!当然有很多打码平台,可以轻松解决!但可以自己来,干嘛靠别人!有技术不学是傻儿童!今天主要讲opencv来解决验证码!抱着怀里教你!让你向前迈一大步!详细讲,慢慢看!简单易懂!

一 .流程:

大致分为以下步骤:

图片灰度化处理 >>>二值化 >>>降噪>>>分割>>>识别?? (一般短验证码无需分隔)

?注意:以下这种需要先去除背景色

二 .今日主人公:

这人眼看起都有点变扭,干扰元素太多了!

三 灰度化:

1).简单原理:

??????? 本身三原色为RGB,但opencv里是使用的BGR,在BGR值相同时为灰色。大概就是,将三通道的图片变为单通道就可以称为灰度化处理。

2).导包:

??????? 包名:opencv-python与numpy

import cv2
import numpy as np

3).三种灰度化方法:

# 方法一  直接在读取图片的时候灰度化
yzm = cv2.imread('1.png',cv2.IMREAD_GRAYSCALE)

# 方法二 在读入图片后再进行灰度化
yzm = cv2.imread('1.png')
yzm = cv2.cvtColor(yzm,cv2.COLOR_BGR2GRAY)

# 方法三  使用numpy取值进行灰度化
# max:取最大值 较亮      min:取最小值  较黑      mean:取平均值
yzm = cv2.imread('1.png')
yzm = np.min(yzm,axis=2).astype(np.uint8)   

4).显示与写入:

# 保存灰度化的图片
cv2.imwrite('new_img.png',yzm)

# 显示灰度化的图片  windows1是窗口名称
cv2.imshow('windows1',yzm)

# waitKey()–是在一个给定的时间内(单位ms)等待用户按键触发,0表示任意按键
cv2.waitKey(0)

# 销毁特定的窗口
cv2.destroyWindow('windows1')

5).效果图:

?

四. 二值化:

简单说:将图片变成黑白(0和255)叫做二值化处理,调用openCv里的threshold方法。

注意:阈值可以调整

import cv2

yzm = cv2.imread('1.png')  # 读图片
yzm = cv2.cvtColor(yzm,cv2.COLOR_BGR2GRAY)   # cv2 方法灰度化

# 二值化
thresh,yzm = cv2.threshold(yzm,160,255,cv2.THRESH_BINARY)
# yzm:表示需要操作的数组
# 160:表示阈值
# 255 表示最大值


cv2.imshow('window1',yzm)
cv2.waitKey(0)
cv2.destroyWindow('window1')

效果图:

????????这效果就很明显了!

?五. 降噪

??????? 降噪方法有三:1.八邻域降噪???????

???????????????????????????????? 2.使用侵蚀与膨胀形态学去噪

???????????????????????????????? 3.cv2中的morphologyEx方法

八邻域不讲,本篇主要是简单易懂!用新人上手

1).cv2中的morphologyEx方法

import cv2
import numpy as np

yzm = cv2.imread('1.png')
yzm = cv2.cvtColor(yzm,cv2.COLOR_BGR2GRAY)   # cv2 方法灰度化
thresh,yzm = cv2.threshold(yzm,170,255,cv2.THRESH_BINARY)  # cv2二值化

# 降噪
yzm = cv2.morphologyEx(yzm,cv2.MORPH_CLOSE,np.ones(shape=(6,6)))

cv2.imwrite('2.png',yzm) # 写入
cv2.imshow('window1',yzm)
cv2.waitKey(0)
cv2.destroyWindow('window1')

? 效果图:

2).使用侵蚀与膨胀形态学去噪

import cv2
import numpy as np

yzm = cv2.imread('1.png')
yzm = cv2.cvtColor(yzm,cv2.COLOR_BGR2GRAY)   # cv2 方法灰度化
thresh,yzm = cv2.threshold(yzm,170,255,cv2.THRESH_BINARY)  # cv2二值化

# 先膨胀 让黑色遭点消失,再侵蚀让黑色加粗
dilate = cv2.dilate(yzm,np.ones(shape=(6,6)))
yzm = cv2.erode(dilate,np.ones(shape=(5,5)))

cv2.imwrite('2.png',yzm) # 写入
cv2.imshow('window1',yzm)
cv2.waitKey(0)
cv2.destroyWindow('window1')

?效果图:

六. 识别

可以使用:1.muggle_ocr识别

????????????????? 2.调用百度识别?? (两者都是免费识别)

1)muggle_ocr识别:

# muggle_ocr识别

import muggle_ocr

sdk = muggle_ocr.SDK(model_type=muggle_ocr.ModelType.OCR)
img = open('2.png','rb').read()
text = sdk.predict(image_bytes=img)
print(text)

?2) 百度识别:

from aip import AipOcr

APP_ID = ''
API_KEY = ''
SECRET_KEY = ''

client = AipOcr(APP_ID, API_KEY, SECRET_KEY)
img = open('2.png','rb').read()
result = client.basicGeneral(img)
print(result)

效果图:

?结束语:有错误,请悄悄指出了!码字不易,望点赞收藏!骚年!奋勇向前吧!我在路的悬崖边等您!

待到秋来九月八,我花开后百花杀。

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-07-23 10:47:03  更:2021-07-23 10:48:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/17 20:18:35-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码