OpenCV函数库查询手册(python)

cv2.Canny

原型:Canny(image, threshold1, threshold2, edges=None, apertureSize=None, L2gradient=None)
作用:边缘检测
参数:image: 8-bit input image;threshold:双阈值;apertureSize :aperture size for the Sobel operator;
L2gradient:参数是一个布尔值,如果为真,则使用更精确的L2范数进行计算(即两个方向的倒数的平方和再开放),否则使用L1范数(直接将两个方向导数的绝对值相加)。
返回值:边缘后图像

Canny描述

Canny百度简介

cv2.GaussianBlur

原型:GaussianBlur(src, ksize, sigmaX)
作用:高斯滤波
参数:图像,核尺寸,
(σx)表示高斯核函数在X方向的的标准偏差:
σ较小,那么生成的模板中心系数越大,而周围的系数越小,这样对图像的平滑效果就不是很明显;
σ较大时,则生成的模板的各个系数相差就不是很大,比较类似于均值模板,对图像的平滑效果就比较明显。
返回值:滤波后图像

种类基本原理特点
均值滤波使用模板内所有像素的平均值代替模板中心像素灰度值易收到噪声的干扰,不能完全消除噪声,只能相对减弱噪声
中值滤波计算模板内所有像素中的中值,并用所计算出来的中值体改模板中心像素的灰度值对噪声不是那么敏感,能够较好的消除椒盐噪声,但是容易导致图像的不连续性
高斯滤波对图像邻域内像素进行平滑时,邻域内不同位置的像素被赋予不同的权值对图像进行平滑的同时,同时能够更多的保留图像的总体灰度分布特征

OpenCV高斯滤波GaussianBlur

cv2.Sobel

原型:Sobel(src,ddepth, dx, dy, ksize=None, scale=None, delta=None, borderType=None)
作用:图像边缘检测
参数:

ddepth深度类型,通常用cv2.CV_64F表示64位浮点数即64 float。
dxx方向的导数,1表示取导,0表示不取导。
dyy方向的导数,1表示取导,0表示不取导。
ksize卷积核的大小。

返回值:边缘灰度图

cv2.contourArea

原型:contourArea(contour)
作用:计算轮廓的面积
参数:输入的单个轮廓值
返回值:计算面积

cv2.boundingRect

原型:boundingRect(array)
作用:提取矩阵形状
参数:array:图片参数
返回值:x,y,w,h,四个值(x,y是矩阵左上点的坐标,w,h是矩阵的宽和高)

cv2.rectangle

原型:rectangle(img, pt1, pt2, color)
作用:绘制矩形框
参数:img:绘制图,pt1:矩阵的左上点坐标,pt2:矩阵的右下点坐标,color:画线对应的rgb颜色。

cv2.getStructuringElement

原型:getStructuringElement(shape, ksize, anchor=None)
作用:获取结构元素(定义矩阵内容)
参数:shape:内核的形状,ksize:内核的大小
返回值:指定形状和尺寸的结构元素kernel

内核的三种定义形状:

矩形MORPH_RECT
交叉形MORPH_CROSS
椭圆形MORPH_ELLIPSE

cv2.morphologyEx

原型:morphologyEx(src, op, kernel)
作用:形态学图像处理
参数:scr:图片,op:变化方式,kernel:结构元素(getStructuringElement获取)
返回值:处理后的图像

op变化方式:

MORPH_OPEN先腐蚀后膨胀的过程。用来消除小黑点,在纤细点处分离物体、平滑较大物体的边界的 同时并不明显改变其面积
MORPH_CLOSE先膨胀后腐蚀的过程。闭运算可以用来排除小黑洞
MORPH_GRADIENT可以突出团块(blob)的边缘,保留物体的边缘轮廓
MORPH_TOPHAT将突出比原轮廓亮的部分
MORPH_BLACKHAT将突出比原轮廓暗的部分

cv2.findContours

原型:findContours(image, mode, method, contours=None, hierarchy=None, offset=None)
作用:查找图像轮廓
参数:image:二值图像(会修改原图像),mode:轮廓检索方式,method:轮廓近似办法
返回值:图像(仅cv3中有此返回值),contours(轮廓),hierarchy(轮廓的层析结构)

1.轮廓检索方式

cv2.RETR_EXTERNAL只检测外轮廓
cv2.RETR_LIST检测的轮廓不建立等级关系
cv2.RETR_CCOMP建立两个等级的轮廓,上面一层为外边界,里面一层为内孔的边界信息
cv2.RETR_TREE建立一个等级树结构的轮廓

2.轮廓近似办法

cv2.CHAIN_APPROX_NONE存储所有边界点
cv2.CHAIN_APPROX_SIMPLE压缩垂直、水平、对角方向,只保留端点
cv2.CHAIN_APPROX_TX89_L1使用teh-Chini近似算法
cv2.CHAIN_APPROX_TC89_KCOS使用teh-Chini近似算法

二.绘制轮廓

cv2.drawContours()

五个输入参数:原始图像,轮廓(python列表),轮廓的索引(当设置为-1时,绘制所有轮廓),画笔颜色,画笔大小

一个返回值:返回绘制了轮廓的图像

cv2.imread

原型:imread(filename,flags=None)
作用:读取图像
参数:filename,读取的图片文件名。flags,读取标志位。

imread第二个参数Flags的含义

flag=-1时8位深度,原通道
flag=08位深度,1通道
flag=18位深度 ,3通道
flag=2原深度,1通道
flag=3原深度,3通道
flag=48位深度 ,3通道
参数名称作用
IMREAD_ANYCOLOR按原图像颜色格式读取
IMREAD_ANYDEPTH按原图像深度信息读取,非16位或32位的则转化为8位
IMREAD_COLOR转化为三通道图像
IMREAD_UNCHAGED原样读取,不改变图像信息
IMREAD_GRAYSCALE转化为灰度图(8位),dtype=CV_8UC1

cv2.imwrite

原型:imwrite(filename,img,params=None)
作用:写入图像
参数:filename,写入的文件名。img,待写入的图像。params,特定格式下保存的参数编码,一般情况下为None。

cv2.imshow

原型:imshow(winname,mat)
作用:创建一个图像窗口
参数:winname,窗口名称。mat,图像矩阵。

cv2.waitKey

原型:waitKey(delay=None)
作用;接受一个按键事件并返回按键的ASCII码。
参数:delay为按下后返回的延迟时间。

cv2.destroyWindow

原型: destroyWindow(winname)
作用:关闭一个由imshow产生的图像窗口
参数:winname,关闭的窗口名字

cv2.destroyAllWindows

原型:destroyAllWindows()
作用:关闭所有由imshow产生的窗口

cv2.blur

原型:blur(src,ksize,dst=None,anchor=None,borderType=None)
作用:对图像进行算术平均值模糊
参数:ksize,卷积核的大小。dst,若填入dst,则将图像写入到dst矩阵。

cv2.medianBlur

原型:mediaBlur(src,ksize,dst=None)
作用:对图像进行中值模糊

cv2.GaussianBlur

原型:GaussianBlur(src,ksize,sigmaX,dst=None,sigmaY=None,borderType=None)
作用:对图像进行高斯模糊
参数:sigmaX,X方向上的方差,一般设为0让系统自动计算。

cv2.cvtColor

原型:cvtColor(src,code,dst=None,dstCn=None)
作用:将一幅图像从一个色彩空间转换到另一个色彩空间
参数:code,转换的色彩空间,取值如下:

cv2.Laplacian

原型:Laplacian(src,ddepth,dst=None,ksize=None,scale=None,
delta=None,borderType=None)
作用:检测图像边缘。
参数:ddepth,图像位深度,对于灰度图来说,其值为:cv2.CV_8U。ksize,希望使用的卷积核的大小。scale,是缩放导数的比例常数。

cv2.Sobel

原型: Sobel(src,ddepth,dx,dy,dst=None,ksize=None,scale=None,delta=None,borderType=None)
作用:对图像进行Sobel算子计算。检测出其边缘。
参数:dx,x方向上的导数阶数;dy,y方向上的导数阶数。

cv2.threshold

原型:threshold(src,thresh,maxval,type,dst=None)
作用:将图像的每个像素点进行二值化
参数:thresh,阈值值。maxval,二值化的最大取值。type,二值化类型,一般设为0。
也可以取以下的值:

返回值:计算过后的阈值值和二值化后的图像(如果dst是None)

VideoCapture 类

cv2.VideoCapture

原型:VideoCapture(*args,**kwargs)
作用:初始化VideoCapture类并利用构造函数读入该视频的当前帧。
参数:一般仅填入一个,即文件名。如果填入整数,则打开对应的捕获设备ID。若为0,则打开默认摄像头。

VideoCapture.get

原型:VideoCapture.get(self,propld)
作用:返回该视频的propld所指定的属性
参数:propld,为需要读取的视频属性参数位,一般以cv2.CAP_PROP_ 开头

参数名称 作用
CV_CAP_PROP_POS_MSEC 当前视频文件的时间位置(返回毫秒)或视频捕获时间戳
CV_CAP_PROP_POS_FRAMES 从0开始的解码/捕获时间帧
CV_CAP_PROP_POS_AVI_RATIO 返回视频文件的相关位置:0,视频开始。1,视频结束
CV_CAP_PROP_FRAME_WIDTH 视频流中的帧宽
CV_CAP_PROP_FRAME_HEIGHT 视频流中的帧高
CV_CAP_PROP_FPS 帧率
CV_CAP_PROP_FOURCC 返回解码方式中的四字符
CV_CAP_PROP_FRAME_COUNT 视频文件的总帧数
CV_CAP_PROP_FORMAT 由retrieve()函数返回的矩阵对象的格式
CV_CAP_PROP_MODE 用于预测当前捕获模式的后端专用值
CV_CAP_PROP_BRIGHTNESS 图像的亮度(仅用于摄像头)
CV_CAP_PROP_CONTRAST 图像的对比度(仅用于摄像头)
CV_CAP_PROP_SATURATION 图像的饱和度(仅用于摄像头)
CV_CAP_PROP_HUE 图像的色调(仅用于摄像头)
CV_CAP_PROP_GAIN 图像增益(仅用于摄像头)
CV_CAP_PROP_EXPOSURE 曝光度(仅用于摄像头)
CV_CAP_PROP_CONVERT_RGB 用于预测图像是否应该被转换为RGB的布尔位
CV_CAP_PROP_WHITE_BALANCE 白平衡(当前不支持)
CV_CAP_PROP_RECTIFICATION 立体相机的纠正位
VideoCapture.isOpened
参数:无
作用:判断设备/文件是否读取成功,若成功,返回True

VideoCapture.release
参数:无
作用:关闭文件/摄像头

VideoCapture.read

参数:无
返回值:bool,numpy.array
作用:读取该文件/摄像头的下一帧,成功与否由bool返回值决定,返回的帧矩阵为第二个参数

VideoWriter类

cv2.VideoWriter

原型:cv2.VideoWriter(*args,**kwargs)
参数:第一个,写入的视频文件名。第二个,由cv2.VideoWriter_fourcc返回的视频制式特定代码,通常有XVID,MPEG等。第三个,该视频的fps。第四个,一个tuple,为该视频的宽、高。

参数名称 解释
CV_FOURCC(‘P’, ‘I’, ‘M’, ‘1’) MPEG-1 codec
CV_FOURCC(‘M’, ‘J’, ‘P’, ‘G’) motion-jpeg codec
CV_FOURCC(‘M’, ‘P’, ‘4’, ‘2’) MPEG-4.2 codec
CV_FOURCC(‘D’, ‘I’, ‘V’, ‘3’) MPEG-4.3 codec
CV_FOURCC(‘D’, ‘I’, ‘V’, ‘X’) MPEG-4 codec
CV_FOURCC(‘U’, ‘2’, ‘6’, ‘3’) H263 codec
CV_FOURCC(‘I’, ‘2’, ‘6’, ‘3’) H263I codec
CV_FOURCC(‘F’, ‘L’, ‘V’, ‘1’) FLV1 codec
CV_FOURCC(‘X’, ‘V’, ‘I’, ‘D’) MPEG-4 decode

VideoWriter.write

原型:VideoCapture.write(image)
作用:将当前帧内容写入视频文件
参数:image,写入的当前帧

opencv帮助库

  • 9
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值