首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
cv2 findContours验证码
2024-11-02
机器学习进阶-项目实战-信用卡数字识别 1.cv2.findContour(找出轮廓) 2.cv2.boudingRect(轮廓外接矩阵位置) 3.cv2.threshold(图片二值化操作) 4.cv2.MORPH_TOPHAT(礼帽运算突出线条) 5.cv2.MORPH_CLOSE(闭运算图片内部膨胀) 6. cv2.resize(改变图像大小) 7.cv2.putText(在图片上放上文本)
7. cv2.putText(img, text, loc, text_font, font_scale, color, linestick) # 参数说明:img表示输入图片,text表示需要填写的文本str格式,loc表示文本在图中的位置,font_size可以使用cv2.FONT_HERSHEY_SIMPLEX, font_scale表示文本的规格,color表示文本颜色,linestick表示线条大小 信用卡数字识别: 信用卡 数字模板涉及到的内容:主要是采用模板匹配的思想 思
机器学习进阶-图像金字塔与轮廓检测-轮廓检测 1.cv2.cvtColor(图像颜色转换) 2.cv2.findContours(找出图像的轮廓) 3.cv2.drawContours(画出图像轮廓) 4.cv2.contourArea(轮廓面积) 5.cv2.arcLength(轮廓周长) 6.cv2.aprroxPloyDP(获得轮廓近似) 7.cv2.boudingrect(外接圆)..
1. cv2.cvtcolor(img, cv2.COLOR_BGR2GRAY) # 将彩色图转换为灰度图 参数说明: img表示输入的图片, cv2.COLOR_BGR2GRAY表示颜色的变换形式 2. cv2.findContours(img,mode, method) # 找出图中的轮廓值,得到的轮廓值都是嵌套格式的 参数说明:img表示输入的图片,mode表示轮廓检索模式,通常都使用RETR_TREE找出所有的轮廓值,method表示轮廓逼近方法,使用NONE表示所有轮廓都显示 3.
Python开发:OpenCV版本差异所引发的cv2.findContours()函数传参问题
一.问题如下: cv2.findContours()这个方法是用来找出轮廓值的: # cv2.findContours找出轮廓值,cv2.RETR_EXTERNAL表示图像的外轮廓 binary, contours, h = cv2.findContours(thresh, cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_SIMPLE) 但是在运行时,我所使用的opencv-python4.1.0.25则报错: 错误信息: ValueError: not enough v
python调用cv2.findContours时报错:ValueError: not enough values to unpack (expected 3, got 2)
OpenCV旧版,返回三个参数: im2, contours, hierarchy = cv2.findContours(mask, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE) 要想返回三个参数: 把OpenCV 降级成3.4.3.18 就可以了,在终端输入pip install opencv-python==3.4.3.18 OpenCV 新版调用,返回两个参数: contours, hierarchy = cv2.findContours(mask, cv
python cv2在验证码识别中的使用
使用函数cv2.imread(filepath,flags)读入一副图片 filepath:要读入图片的完整路径 flags:读入图片的标志 cv2.IMREAD_COLOR:默认参数,读入一副彩色图片,忽略alpha通道 cv2.IMREAD_GRAYSCALE:读入灰度图片 cv2.IMREAD_UNCHANGED:顾名思义,读入完整图片,包括alpha通道 cv2.cvtColor(p1,p2) 是颜色空间转换函数,p1是需要转换的图片,p2是转换成何种格式. cv2.COLOR_BGR2
cv2.findContours
Layout of the output array image is incompatible with cv::Mat (step[ndims-1] != elemsize or step[1] != elemsize*nchannels) 解决办法: 1. copy of original array image=image.copy() 2.数组可能不连续,那就使他连续: image = np.ascontiguousarray(image, dtype=np.uint8)
keras入门(三)搭建CNN模型破解网站验证码
项目介绍 在文章CNN大战验证码中,我们利用TensorFlow搭建了简单的CNN模型来破解某个网站的验证码.验证码如下: 在本文中,我们将会用Keras来搭建一个稍微复杂的CNN模型来破解以上的验证码. 数据集 对于验证码图片的处理过程在本文中将不再具体叙述,有兴趣的读者可以参考文章CNN大战验证码. 在这个项目中,我们现在的样本一共是1668个样本,每个样本都是一个字符图片,字符图片的大小为16*20.样本的特征为字符图片的像素,0代表白色,1代表黑色,每个样本为320个特征,取
RNN入门(二)识别验证码
介绍 作为RNN的第二个demo,笔者将会介绍RNN模型在识别验证码方面的应用. 我们的验证码及样本数据集来自于博客: CNN大战验证码,在这篇博客中,我们已经准备好了所需的样本数据集,不需要在辛辛苦苦地再弄一遍,直接调用data.csv就可以进行建模了. RNN模型 用TensorFlow搭建简单RNN模型,因为是多分类问题,所以在最后的输出部分再加一softmax层,损失函数采用对数损失函数,optimizer选择RMSPropOptimizer.以下是RNN模型的完整Pytho
CNN大战验证码
介绍 爬虫江湖,风云再起.自从有了爬虫,也就有了反爬虫:自从有了反爬虫,也就有了反反爬虫. 反爬虫界的一大利器,就是验证码(CAPTCHA),各种各样的验证码让人眼花缭乱,也让很多人在爬虫的过程知难而返,从入门到放弃,当然,这就达到了网站建设者们的目的.但是,但是,所谓的验证码,并不是牢不可破的,在深度学习(Deeping Learning)盛行的今天,很多简单的验证码也许显得不堪一击. 本文将会介绍如何利用Python,OpenCV和CNN来攻破一类验证码,希望能让大家对Deepi
OpenCV入门之获取验证码的单个字符(二)
在文章 OpenCV入门之获取验证码的单个字符(字符切割)中,介绍了一类验证码的处理方法,该验证码如下: 该验证码的特点是字母之间的间隔较大,很容易就能提取出其中的单个字符.接下来,笔者将会介绍如何在另一种验证码中提取单个字符的方法. 测试的验证码来源于某个账号注册的网站,如下: 笔者一共收集了346张验证码.我们可以看到,这些验证码的特点是:噪声较大,有些验证码之间的字母黏连在一起,这样的话,想要提取单个字符的难度会加大. 首先,我们按照文章 OpenCV入门之获取验证码的单个字符
OpenCV入门之获取验证码的单个字符(字符切割)
介绍 在我们日常上网注册账号以及制作网络爬虫时,经常会遇到奇奇怪怪的验证码,有些容易,有些连人眼都无法辨识.于是,大牛们想到了用深度学习的方法来破解验证码,对于一般的验证码往往能出奇制胜,取得不俗的识别效果.对于利用深度学习方法识别验证码,其预处理就是获取验证码中的单个字符,即字符切割. 本文将通过一个简单的验证码例子,来展示如何利用OpenCV来获取单个字符. 手把手教学 我们所使用的示例验证码如下: 验证码例子 首先我们在OpenCV中以灰度模式读取图片(imagepath为图
Python3 识别验证码(opencv-python)
Python3 识别验证码(opencv-python) 一.准备工作 使用opencv做图像处理,所以需要安装下面两个库: pip3 install opencv-python pip3 install numpy 二.识别原理 采取一种有监督式学习的方法来识别验证码,包含以下几个步骤: 图片处理 - 对图片进行降噪.二值化处理 切割图片 - 将图片切割成单个字符并保存 人工标注 - 对切割的字符图片进行人工标注,作为训练集 训练数据 - 用KNN算法训练数据 检测结果 - 用上一步的训练结果
查找轮廓(cv2.findCountours函数)
1.输入为二值图像,黑色为背景,白色为目标 2.该函数会修改原图像,因此若想保留原图像在,则需拷贝一份,在拷贝图里修改. 一.查找轮廓 cv2.findContours() 三个输入参数:输入图像(二值图像),轮廓检索方式,轮廓近似方法 1.轮廓检索方式 cv2.RETR_EXTERNAL 只检测外轮廓 cv2.RETR_LIST 检测的轮廓不建立等级关系 cv2.RETR_CCOMP 建立两个等级的轮廓,上面一层为外边界,里面一层为内孔的边界信息 cv2.RETR_TREE 建立一个等级树结构
opencv处理验证码python代码
# -*- coding: utf-8 -*- # @Time : 2019-02-11 09:39 # @Author : cxa # @File : bgr2gry.py # @Software: PyCharm import cv2 import pathlib import numpy as np import time import os file_path = pathlib.Path.cwd().joinpath("picture/1.png") char_path =
机器学习进阶-背景建模-(帧差法与混合高斯模型) 1.cv2.VideoCapture(进行视频读取) 2.cv2.getStructureElement(构造形态学的卷积) 3.cv2.createBackgroundSubtractorMOG2(构造高斯混合模型) 4.cv2.morpholyEx(对图像进行形态学的变化)
1. cv2.VideoCapture('test.avi') 进行视频读取 参数说明:‘test.avi’ 输入视频的地址2. cv2.getStructureElement(cv2.MORPH_ELLIPSE, (3, 3)) # 构造一个全是1的kernel用于形态学的操作 参数说明:cv2.MORPH_ELLIPSE 生成全是1的kernel,(3, 3)表示size 3.cv2.createBackgroundSubtractorMOG2().apply(image) 对图像进行混合
机器学习进阶-案例实战-答题卡识别判 1.cv2.getPerspectiveTransform(获得投射变化后的H矩阵) 2.cv2.warpPerspective(H获得变化后的图像) 3.cv2.approxPolyDP(近似轮廓) 4.cv2.threshold(二值变化) 7.cv2.countNonezeros(非零像素点个数)6.cv2.bitwise_and(与判断)
1.H = cv2.getPerspectiveTransform(rect, transform_axes) 获得投射变化后的H矩阵 参数说明:rect表示原始的位置左上,右上,右下,左下, transform_axes表示变换后四个角的位置 2.cv2.warpPerspective(gray, H, (width, height)) 根据H获得变化后的图像 参数说明: gray表示输入的灰度图像, H表示变化矩阵,(width, height)表示变换后的图像大小3. cv2.approx
OpenCV 学习笔记03 findContours函数
opencv-python 4.0.1 1 函数释义 词义:发现轮廓! 从二进制图像中查找轮廓(Finds contours in a binary image):轮廓是形状分析和物体检测和识别的有用工具. findContours(image, mode, method[, contours[, hierarchy[, offset]]]) -> contours, hierarchy 参数 image - 一个8位单通道二值图像(非0即1).非零像素视为1.零像素依然为0, 因此图像被视
opencv使用 findContours
http://www.jb51.net/article/132217.htm https://www.jianshu.com/p/4bc3349b4611 https://blog.csdn.net/sunny2038/article/details/12889059使用这个代码就可以直接使用 https://blog.csdn.net/sunny2038/article/details/12889059 https://docs.opencv.org/2.4/modules/imgproc/d
python cv2截取不规则区域图片
知识掌握 cv2.threshold()函数: 设置固定级别的阈值应用于多通道矩阵,将灰度图像变换二值图像,或去除指定级别的噪声,或过滤掉过小或者过大的像素点. Python: cv2.threshold(src, thresh, maxval, type[, dst]) → retval, dst 在其中: src:表示的是图片源 thresh:表示的是阈值(起始值) maxval:表示的是最大值 type:表示的是这里划分的时候使用的是什么类型的算法,常用值为0(cv2.THRESH_BIN
OpenCV—Python 轮廓检测 绘出矩形框(findContours\ boundingRect\rectangle
千万注意opencv的轮廓检测和边缘检测是两码事 本文链接:https://blog.csdn.net/wsp_1138886114/article/details/82945328 1 获取轮廓 OpenCV2获取轮廓主要是用 cv2.findContours() import cv2 img = cv2.imread('wujiaoxing.png') gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) ret,binary = cv2.threshol
热门专题
链接失败错误信息 version 8.1.7
wpf监控全局的键盘消息事件
linux设置统一快捷命令
阿里云 代理服务器搭建
zookeeper一键启动脚本
高斯滤波在X方向和Y方向上的模板
unity支持视频格式
linux进程所处状态显示为I
MCU刷完boot rest失败
python数组转化为字典
python3简明教程
nn_grad_conv2d_weight 卷积 反向传播
powermock变量赋值
php验证码 随机数字 代码
nginx xss sql注入
vsto如何去掉验证
centos7.9 误python和yum都卸载后
vs2019开启openmp
oracle中如何把08-1-17转换成yyyy-mm-dd
linux安装Apahce 及 php