Python opencv模块cv2安装和部分函数使用

Python opencv模块cv2安装和部分函数使用

前几天做了一下验证码识别,在这里分享一下用到的opencv模块cv2部分函数的使用方法,也是给自己加深一下记忆。

一、cv2模块安装

在这里提醒一下这里有
你如果直接用 pip install cv2 会报错欧
在这里插入图片描述
往下看解决办法
可以通过 pip install opencv-python 来进行安装

如果pip不能安装还可以通过 https://pypi.tuna.tsinghua.edu.cn/simple/opencv-python寻找自己python对应的 .whl文件下载进行安装,我这安装的是opencv_python-3.1.0.5-cp36-cp36m-win_amd64.whl 其中cp36是我的python版本是3.6版的,自我感觉3.6版本的.whl文件还比较好找,只是自我观点amd64是我安装的python是64位的

二、cv2模块的使用和函数介绍

1、cv2模块的使用

检测cv2是否安装成功

import cv2

在这里插入图片描述
如果不报错就是已经安装成功

2、cv2模块的函数介绍

下面来介绍一下cv2模块的函数介绍

(1)cv2.imread() 读入图片

参数1:图片所在位置
提示:如果想显示网页上的图片还可以写参数1还可以写成网页的网址欧

import cv2

# 读入图像
img = cv2.imread("./2.jpg")

# 显示图像
cv2.imshow("bug", img)
cv2.waitKey(10)  # 单位毫秒
cv2.destroyWindow("bug")

# 复制图像
new_img = img.copy()

# 保存图像
cv2.imwrite("bug-new.png", new_img)

(2)cv2.VideoCapture() 读取图片

参数1:可以为0和1,也可以去获取网络摄像头的网址
cv2.VideoCapture(0)表示获取电脑的摄像头
cv2.VideoCapture(1) 表示获取电脑外部连接的摄像头
cv2.VideoCapture(http://192.168.0.1:8080/?action=snapshot) 表示获取网络摄像头的视频

import cv2

cap = cv2.VideoCapture(0)   #调整参数实现读取视频或调用摄像头
while (cap.isOpened()):
    ret, frame = cap.read()
    cv2.imshow("cap", frame)
    if (cv2.waitKey(100) & 0xff) == ord('q'):   #在一个给定的时间内(单位ms)等待用户按键触发
        break
cap.release()
cv2.destroyAllWindows()
(3)cv2.cvtColor() 颜色转换

参数1:所以转换的图片

参数2:要转换的模式 cv2.COLOR_BGR2GRAY:转换为灰度图。cv2.COLOR_BGR2HSV:转换为HSV颜色空间。

(4)cv2.threshold() 二值化

参数1:要灰度的图片

参数2:阈值

参数3:最大值

参数4:转换方式 cv2.THRESH_BINARY、cv2.THRESH_BINARY_INV、cv2.THRESH_TRUNC、cv2.THRESH_TOZERO、cv2.THRESH_TOZERO_INV

(5)cv2.medianBlur() 滤波

参数1:要滤波的图片

参数2:滤波尺寸大小

(6)cv2.boundingRect() 求包含轮廓的正方框

参数1:要计算的某一轮廓

(7)cv2.findContours() 提取图片轮廓

参数1:要提取轮廓的图片

参数2:提取规则。cv2.RETR_EXTERNAL:只找外轮廓,cv2.RETR_TREE:内外轮廓都找。

参数3:输出轮廓内容格式。cv2.CHAIN_APPROX_SIMPLE:输出少量轮廓点。cv2.CHAIN_APPROX_NONE:输出大量轮廓点。

输出参数1:提取轮廓后的图片

输出参数2:轮廓列表

输出参数3:层级

下面附上我的一个验证码识别的代码

# -*- coding: utf-8 -*-

import os
import cv2
import numpy as np

def split_picture(imagepath):

    # 以灰度模式读取图片
    gray = cv2.imread(imagepath, 0)

    # 将图片的边缘变为白色
    height, width = gray
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值