OpenCV学习(三)-常用函数

OpenCV(Open Source Computer Vision Library)是一个功能强大的开源计算机视觉库,广泛用于图像处理、视频分析、特征检测、目标检测等任务。它提供了大量的函数来处理图像和视频数据。以下是一些常用的OpenCV函数及其用途:

1. 图像读取与显示

  • cv2.imread(filename, flags):读取图像文件。
    • filename:图像文件路径。
    • flags:读取图像的方式(如cv2.IMREAD_COLOR, cv2.IMREAD_GRAYSCALE等)。
  • cv2.imshow(winname, mat):显示图像。
    • winname:窗口名称。
    • mat:要显示的图像。
  • cv2.imwrite(filename, img):保存图像。
    • filename:保存的文件路径。
    • img:要保存的图像。

2. 图像处理

  • cv2.cvtColor(src, code):图像颜色空间转换。
    • src:输入图像。
    • code:转换类型(如cv2.COLOR_BGR2GRAY将BGR图像转换为灰度图像)。
  • cv2.GaussianBlur(src, ksize, sigmaX):高斯模糊。
    • src:输入图像。
    • ksize:高斯核的大小。
    • sigmaX:高斯核在X方向的标准差。
  • cv2.Canny(image, threshold1, threshold2):边缘检测。
    • image:输入图像。
    • threshold1:第一个阈值。
    • threshold2:第二个阈值。

3. 图像操作

  • cv2.resize(src, dsize):调整图像大小。
    • src:输入图像。
    • dsize:目标图像的尺寸。
  • cv2.flip(src, flipCode):翻转图像。
    • src:输入图像。
    • flipCode:翻转方式(如0表示沿X轴翻转,1表示沿Y轴翻转,-1表示同时沿X和Y轴翻转)。
  • cv2.warpAffine(src, M, dsize):仿射变换。
    • src:输入图像。
    • M:变换矩阵。
    • dsize:输出图像的尺寸。

4. 图像阈值处理

  • cv2.threshold(src, thresh, maxval, type):图像二值化。
    • src:输入图像。
    • thresh:阈值。
    • maxval:最大值。
    • type:阈值处理类型(如cv2.THRESH_BINARY, cv2.THRESH_BINARY_INV等)。

5. 轮廓检测

  • cv2.findContours(image, mode, method):查找图像中的轮廓。
    • image:输入二值图像。
    • [mode](file://d:\testFun\shudu.py#L0-L0):轮廓检索模式(如cv2.RETR_EXTERNAL, cv2.RETR_TREE等)。
    • method:轮廓逼近方法(如cv2.CHAIN_APPROX_SIMPLE)。
  • cv2.drawContours(image, contours, contourIdx, color, thickness):绘制轮廓。
    • image:绘制轮廓的图像。
    • contours:轮廓列表。
    • contourIdx:轮廓索引(-1表示所有轮廓)。
    • color:轮廓颜色。
    • thickness:轮廓线宽。

6. 特征检测

  • cv2.goodFeaturesToTrack(image, maxCorners, qualityLevel, minDistance):检测图像中的角点。
    • image:输入图像。
    • maxCorners:最多检测的角点数。
    • qualityLevel:角点质量阈值。
    • minDistance:角点之间的最小距离。
  • cv2.SIFT_create():创建SIFT特征检测器。
  • cv2.SURF_create():创建SURF特征检测器。

7. 视频处理

  • cv2.VideoCapture(filename):打开视频文件或摄像头。
    • filename:视频文件路径或摄像头索引(如0表示默认摄像头)。
  • cv2.read():从视频流中读取帧。
  • cv2.VideoWriter(filename, fourcc, fps, frameSize):写入视频文件。
    • filename:输出视频文件路径。
    • fourcc:编码格式(如cv2.VideoWriter_fourcc(*'XVID'))。
    • fps:帧率。
    • frameSize:帧的尺寸。

8. 深度学习

  • cv2.dnn.readNetFromCaffe(prototxt, caffeModel):从Caffe模型中加载网络。
    • prototxt:模型的结构文件。
    • caffeModel:模型的权重文件。
  • cv2.dnn.blobFromImage(image, scalefactor, size, mean, swapRB, crop):将图像转换为深度学习模型所需的blob格式。
    • image:输入图像。
    • scalefactor:缩放因子。
    • [size](file://d:\testFun\shudu.py#L0-L0):输出图像的尺寸。
    • mean:均值。
    • swapRB:是否交换红蓝通道。
    • crop:是否裁剪图像。open
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

香蕉可乐荷包蛋

努力写有用的code

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值