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
1198

被折叠的 条评论
为什么被折叠?



