当前位置:   article > 正文

OpenCV-Python的函数示例_python opencv 函数

python opencv 函数

一.  OpenCV的函数

目录

一.  OpenCV的函数

1. 常用函数

2. 以字母“a”开头的函数

3. 以字母“b”开头的函数

4. 以字母“c”开头的函数

5. 以字母“d”开头的函数

6. 以字母“e”开头的函数

7. 以字母“f”开头的函数

8. 以字母“g”开头的函数

9. 以字母“i”开头的函数

10. 以字母“j”开头的函数

11. 以字母“k”开头的函数

12. 以字母“l”开头的函数

13. 以字母“m”开头的函数

14. 以字母“n”开头的函数

15. 以字母“o”开头的函数

16. 以字母“p”开头的函数

17. 以字母“q”开头的函数

18. 以字母“r”开头的函数

19. 以字母“s”开头的函数

20. 以字母“t”开头的函数

21. 以字母“u”开头的函数

22. 以字母“v”开头的函数

23. 以字母“w”开头的函数

24. 以字母“x”开头的函数

25. 以字母“y”开头的函数

26. 以字母“z”开头的函数

二.  Numpy的常用函数:


  opencv-python 是 OpenCV 的一个 Python 接口库,允许 Python 开发者使用 OpenCV 中广泛使用的图像处理工具。OpenCV 是一个开源计算机视觉库,可用于处理图像和视频。

  opencv-python 库提供了非常多的图像处理功能,包括图像滤波、变换、特征检测、物体识别等。通过调用这些功能,开发人员可以轻松地在 Python 中实现各种常见的图像处理应用。

        特别是在机器学习领域,opencv-python 也起到了很大的作用。例如,在图像分类、目标识别和人脸识别等任务中,用 OpenCV 提取图像的特征后,再将其输入到其他机器学习算法中进行分类或识别。

        在安装和使用 opencv-python 库时,需要注意一些事项。首先,安装前需要先安装 NumPy 库,以便支持 OpenCV 中的矩阵操作。其次,库中的一些函数可能需要调用底层库(例如 BLAS 和 LAPACK),这些库可能需要单独安装才能正常使用。

        总的来说,opencv-python 是一个非常实用的图像处理工具库,如果需要进行图像或计算机视觉相关的开发工作,这个库可以为您提供丰富的功能和便捷的接口

1. 常用函数

函数功能解释示例
cv2.imread()读取图像img = cv2.imread('image.jpg')
cv2.imshow()在窗口中显示图像

cv2.imshow('Window Name', img)

cv2.split()多通道的图像数组拆分成若干个单通道的数组b, g, r = cv2.split(img)
cv2.merge()多个单通道数组合并为一个多通道的数组img = cv2.merge((b, g, r))
cv2.waitKey()等待键盘输入key = cv2.waitKey(0)
cv2.cvtColor()转换图像颜色空间gray_img = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
cv2.rectangle()在图像中绘制矩形cv2.rectangle(img, (x1, y1), (x2, y2), (0, 255, 0), 2)
cv2.circle()在图像中绘制圆形cv2.circle(img, (x, y), radius, (255, 0, 0), -1)
cv2.line()在图像中绘制线条cv2.line(img, (x1, y1), (x2, y2), (0, 0, 255), 3)
cv2.putText()在图像中加入文本cv2.putText(img, 'Hello, OpenCV!', (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 1, (255, 255, 255), 2)
cv2.threshold()图像阈值处理ret, thresh = cv2.threshold(gray_img, 127, 255, cv2.THRESH_BINARY)
cv2.Canny()边缘检测edges = cv2.Canny(img, threshold1=100, threshold2=200)
cv2.GaussianBlur()图像高斯模糊blurred_img = cv2.GaussianBlur(img, (5, 5), 0)
cv2.findContours()查找图像轮廓contours, hierarchy = cv2.findContours(edges, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)

2. 以字母“a”开头的函数

函数功能解释示例
accumulate()累加数组元素dst = cv2.accumulate(src)
accumulateProduct()累加相乘运算后的结果dst = cv2.accumulateProduct(src1, src2)
accumulateSquare()累加每个数组元素的平方dst = cv2.accumulateSquare(src)
add()将两个数组逐元素相加dst = cv2.add(src1, src2)
addWeighted()按权重添加两个数组dst = cv2.addWeighted(src1, alpha, src2, beta, gamma)
adaptiveThreshold()二值化图像thresh = cv2.adaptiveThreshold(img, maxValue, adaptiveMethod, thresholdType, blockSize, C)
alignedROI()计算两个矩形相交区域roi = cv2.alignedROI(rect1, rect2, size, center)

3. 以字母“b”开头的函数

函数功能解释示例
cv2.blur()对图像进行均值滤波操作r = cv2.blur(o, (5,5)) - 对o图像进行5x5的均值滤波,存储结果到r中。
bitwise_and()逐位与运算dst = cv2.bitwise_and(src1, src2, mask=mask)
bitwise_not()逐位非运算dst = cv2.bitwise_not(src, dst=None, mask=None)
bitwise_or()逐位或运算dst = cv2.bitwise_or(src1, src2, mask=mask)
bitwise_xor()逐位异或运算dst = cv2.bitwise_xor(src1, src2, mask=mask)
borderInterpolate()插值像素边界模式value = cv2.borderInterpolate(p, len, borderType)
boundingRect()计算轮廓的边界矩形x,y,w,h = cv2.boundingRect(cnt)
boxFilter()方框滤波器dst = cv2.boxFilter(src, ddepth, ksize, anchor=None, normalize=None, borderType=None)

4. 以字母“c”开头的函数

函数功能解释示例
calcBackProject()计算反向投影图像backproj = cv2.calcBackProject([hsv], [0,1], roi_hist, [0,180,0,256], 1)
calcHist()计算图像的直方图hist = cv2.calcHist(images, channels, mask, histSize, ranges[, hist[, accumulate]])
Canny()使用Canny算法进行边缘检测edges = cv2.Canny(image, threshold1, threshold2[, edges[, apertureSize[, L2gradient]]])
circle()在图像中绘制圆形cv2.circle(img, center, radius, color[, thickness[, lineType[, shift]]])
compare()对两个数组元素逐个比较,并根据比较结果对输出数组分配0或255diff = cv2.compare(src1, src2, cmpop)
contourArea()计算轮廓区域面积area = cv2.contourArea(cnt)
convexHull()查找一组点的凸包hull = cv2.convexHull(points[, hull[, clockwise[, returnPoints]]])
cornerHarris()检测图像中的角点dst = cv2.cornerHarris(src, blockSize, ksize, k[, dst[, borderType]])
cvtColor()将图像从一个颜色空间转换到另一个颜色空间dst = cv2.cvtColor(src, code[, dst[, dstCn]])
createBackgroundSubtractorKNN()创建适用于动态背景下的前景/背景分割器fgbg = cv2.createBackgroundSubtractorKNN()
createCLAHE()创建自适应直方图均衡化器clahe = cv2.createCLAHE(clipLimit, tileGridSize)
createTrackbar()创建滑动条cv2.createTrackbar(trackbarName, windowName, value, count, onChange)

5. 以字母“d”开头的函数

函数功能解释示例
demosaicing()彩色图像插值算法dst = cv2.demosaicing(src, code, dst=None)
dilate()膨胀操作dst = cv2.dilate(src, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]])
distanceTransform()距离变换dst = cv2.distanceTransform(src, distanceType, maskSize, dstType)
drawContours()绘制轮廓img = cv2.drawContours(img, contours, contourIdx, color, thickness=None, lineType=None, hierarchy=None, maxLevel=None, offset=None)

6. 以字母“e”开头的函数

函数功能解释示例
ellipse()在图像中绘制椭圆形img = cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color, thickness=None, lineType=None)
ellipse2Poly()椭圆边界转换为多边形pts = cv2.ellipse2Poly(center, axes, angle, arcStart, arcEnd, delta)
equalizeHist()直方图均衡化dst = cv2.equalizeHist(src)
erode()腐蚀操作dst = cv2.erode(src, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]])

7. 以字母“f”开头的函数

函数功能解释示例
cv2.flip()对图像进行翻转b = cv2.flip(a, 0)         0:x  1:y
FastFeatureDetector()快速特征检测器fd = cv2.FastFeatureDetector_create(threshold=50)
filter2D()卷积操作dst = cv2.filter2D(src, ddepth, kernel, anchor=None, delta=None, borderType=None)
findContours()查找图像中的轮廓contours, hierarchy = cv2.findContours(image, mode, method[, contours[, hierarchy[, offset]]])

8. 以字母“g”开头的函数

函数功能解释示例
GaussianBlur()高斯模糊处理dst = cv2.GaussianBlur(src, ksize, sigmaX, dst=None, sigmaY=None, borderType=None)
getAffineTransform()计算仿射变换矩阵M = cv2.getAffineTransform(pts1, pts2)
getGaborKernel()创建Gabor滤波器核函数kernel = cv2.getGaborKernel(ksize, sigma, theta, lambd, gamma, psi=None, ktype=None)
getOptimalNewCameraMatrix()扭曲校正并调整相机矩阵newcameramtx, roi = cv2.getOptimalNewCameraMatrix(cameraMatrix, distCoeffs, imageSize, alpha, newImgSize=(-1, -1), centerPrincipalPoint=None)

9. 以字母“i”开头的函数

函数功能解释示例
cv2.imread()加载一个图像文件并返回一个 NumPy 数组img = cv2.imread('example.jpg', cv2.IMREAD_COLOR) 
imdecode()将编码图像数据解码为图像img = cv2.imdecode(buf, flag[, dst])
imencode()将图像数据编码为指定格式result, encimg = cv2.imencode(ext, img[, params])
imshow()在窗口中显示图像cv2.imshow(winname, mat)
inRange()使用特定阈值范围进行图像阈值处理mask = cv2.inRange(src, lowerb, upperb[, dst])
insertChannel()将数组插入通道dst = cv2.insertChannel(src, dst, coi)
integral()计算一幅图像的积分图像sum = cv2.integral(img[, sum[, sdepth]])
idct()反离散余弦变换dst = cv2.idct(src[, dst[, flags]])
idft()反傅里叶变换result = cv2.idft(src, flags=none, nonzeroRows=None)

10. 以字母“j”开头的函数

函数功能解释示例
JPEGDecoder()解码JPEG格式图像jpeg_decoder = cv2.jpeg_decoder.JPEGDecoder()

11. 以字母“k”开头的函数

函数功能解释示例
KalmanFilter()Kalman滤波器kalman = cv2.KalmanFilter(states, meas, type, control=None, dynamics=None, measurement=None)

12. 以字母“l”开头的函数

函数功能解释示例
Laplacian()拉普拉斯算子运算dst = cv2.Laplacian(src, ddepth, ksize=None, scale=None, delta=None, borderType=None)
line()在图像中绘制直线img = cv2.line(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)
load()从文件读取数据到numpy数组ary = cv2.load(filename, flags=None)
log()计算元素的自然对数dst = cv2.log(src[, dst])

13. 以字母“m”开头的函数

函数功能解释示例
matchShapes()计算两个图像或轮廓之间的形状相似性ret = cv2.matchShapes(contour1, contour2, method, parameter=0.0)
medianBlur()中值滤波器dst = cv2.medianBlur(src, ksize)
merge()合并多个通道的数组merged = cv2.merge(channels)
minEnclosingCircle()获得包含一组点的最小圆的半径和中心center, radius = cv2.minEnclosingCircle(points)
minMaxLoc()查找数组中的最小值和最大值minVal, maxVal, minLoc, maxLoc = cv2.minMaxLoc(src[, mask])
moments()图像的几何矩计算M = cv2.moments(img[, binaryImage])
morphologyEx()形态学变换dst = cv2.morphologyEx(src, op, kernel[, dst[, anchor[, iterations[, borderType[, borderValue]]]]])

14. 以字母“n”开头的函数

函数功能解释示例
namedWindow()创建用于调试目的的窗口cv2.namedWindow(winname[, flags])
normalize()将输入数组规范化到给定的范围内dst = cv2.normalize(src[, dst[, alpha[, beta[, norm_type[, dtype[, mask]]]]]])

15. 以字母“o”开头的函数

函数功能解释示例
OctaveBand()第三倍频带滤波器band = cv2.OctaveBandFilter_create(freq1, freq2, fftsize=None, gap=None)

16. 以字母“p”开头的函数

函数功能解释示例
PCACompute()计算主成分分析mean, eigenvectors, eigenvalues = cv2.PCACompute(data, mean=None, maxComponents=None)
perspectiveTransform()透视变换dst = cv2.perspectiveTransform(src, M)
phaseCorrelate()相位相关法进行图像对齐retval, response = cv2.phaseCorrelate(src1, src2[, window])
pointPolygonTest()测试点是否在轮廓内distance = cv2.pointPolygonTest(contour, pt, measureDist)
polarToCart()从极坐标转换为笛卡尔坐标x, y = cv2.polarToCart(magnitude, angle[, angleInDegrees[, thetaClockwise]])

17. 以字母“q”开头的函数

函数功能解释示例
quickshift()图像的颜色分割和超像素分割算法labels = cv2.ximgproc.segmentation.createQuickShiftImageFilter(img, kernelSize, maxDist, ratio)

18. 以字母“r”开头的函数

函数功能解释示例
randn()产生随机数dst = cv2.randn(dst, mean, stddev)
randu()产生随机数dst = cv2.randu(dst, low, high)
rectangle()在图像中绘制矩形img = cv2.rectangle(img, pt1, pt2, color, thickness=None, lineType=None, shift=None)
reduce()沿着指定轴降采样数组dst = cv2.reduce(src, dim[, rtype[, dtype]])
remap()地图转换dst = cv2.remap(src, map1, map2, interpolation[, dst[, borderMode[, borderValue]]])
repeat()复制单通道或多通道数组dst = cv2.repeat(src, ny, nx[, dst])
resize()缩放图像大小dst = cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]])
Rodrigues()将旋转矩阵转换为旋转向量或将旋转向量转换为旋转矩阵dst, jacobian = cv2.Rodrigues(src[, dst[, jacobian]])
rotate()旋转图像M = cv2.getRotationMatrix2D(center, angle, scale)<br>rotated = cv2.warpAffine(img, M, (w,h))

19. 以字母“s”开头的函数

函数功能解释示例
Scharr()计算Sobel x或y方向上的导数运算dst = cv2.Scharr(src, ddepth, dx, dy[, dst[, scale[, delta[, borderType]]]])
seamFinder.find()图像拼接时寻找水平缝线seam_finder.find(images_warped, corners, masks=None)
SEMILAGRANGIAN()向后图像曲线变形dst = cv2.ximgproc.SEMILAGRANGIAN(src, velocityField, dest=None, deltaTime=0.25, deltaWeight=0.1, omega=0.1, method=cv2.ximgproc.MOTION_AMPLITUDE_COMPENSATION_LK, nlss=True, fixMissing=False, kernelSize=3)
SimpleBlobDetector()简单的圆形斑点检测器blob_detector = cv2.SimpleBlobDetector_create([params])
Sobel()Sobel边缘检测算子dx = cv2.Sobel(src, ddepth, dx, dy[, dst[, ksize[, scale[, delta[, borderType]]]]])

20. 以字母“t”开头的函数

函数功能解释示例
threshold()按阈值分类retval, dst = cv2.threshold(src, thresh, maxval, type[, dst])
triangulatePoints()三角化给定的二维点集和相关的二维投影retval, points4D = cv2.triangulatePoints(projMatr1, projMatr2, projPoints1, projPoints2)

21. 以字母“u”开头的函数

函数功能解释示例
undistort()去除图像中的扭曲dst = cv2.undistort(src, cameraMatrix, distCoeffs[, dst[, newCameraMatrix]])
UndistortResult()相机标定所得到的像素、世界距离转换结果UndistortResult()
unsharpMask()针对输入图像进行锐化增强处理filt = cv2.ximgproc.createUnsharpMask(img, smth, unsharpStrength)

22. 以字母“v”开头的函数

函数功能解释示例
VideoCapture()从摄像头或视频文件读取帧cap = cv2.VideoCapture(index / filename[, APIPreference])
VideoWriter()视频编码output_video = cv2.VideoWriter(filename, fourcc, fps, frame_size[, isColor])
ViterbiInvoker()估计有噪声的序列ViterbiInvoker = cv2.text.ViterbiInvoker()

23. 以字母“w”开头的函数

函数功能解释示例
watershed()分割有明显边界的图像markers = cv2.watershed(img, markers)

24. 以字母“x”开头的函数

函数功能解释示例
XiaoYingBeauty()魔法棒、美颜特效等视频处理beauty = cv2.xfeatures2d.XiaoYingBeauty()
XiaoYingSticker()视频拍摄中给定特定区域打标签的预处理stickers = cv2.xfeatures2d.XiaoYingSticker()

25. 以字母“y”开头的函数

函数功能解释示例
YoloObjectDetector()图像物体检测yolo_object_detector = cv2.dnn_YoloObjectDetector(weights, config)

26. 以字母“z”开头的函数

函数功能解释示例
zip()对每个元素依次取出,再把所有对应的元素打包成一个tuple。z = zip([1, 2, 3], [4, 5, 6])

二.  Numpy的常用函数:

函数功能示例
np.array创建一个 ndarray 数组a = np.array([1, 2, 3])
np.zeros创建一个全零的 ndarray 数组a = np.zeros((2, 3))
np.ones创建一个全一的 ndarray 数组a = np.ones((2, 3))
np.full创建一个指定值的 ndarray 数组a = np.full((2, 3), 5)
np.arange创建一个等差数列a = np.arange(1, 6, 2)
np.linspace创建一个等差数列a = np.linspace(1, 2, 5)
np.random.rand创建一个随机数组a = np.random.rand(3, 2)
np.random.randn创建一个符合标准正态分布的随机数组a = np.random.randn(3, 2)
ndarray.shape返回 ndarray 数组的维度a.shape
ndarray.ndim返回 ndarray 数组的秩a.ndim
ndarray.size返回 ndarray 数组中的元素数量a.size
ndarray.reshape按指定的形状重构 ndarray 数组b = a.reshape((3,2))
ndarray.flatten将 ndarray 数组变为一维数组b = a.flatten()
ndarray.min返回 ndarray 数组中的最小值a.min()
ndarray.max返回 ndarray 数组中的最大值a.max()
ndarray.sum返回 ndarray 数组中的所有元素的和a.sum()
ndarray.mean返回 ndarray 数组中的所有元素的平均值a.mean()
ndarray.std返回 ndarray 数组中的所有元素的标准偏差a.std()
ndarray.dot计算两个数组的点积a.dot(b)
np.concatenate沿着指定的轴将两个或多个数组拼接在一起c = np.concatenate((a, b), axis=0)
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/367124
推荐阅读
相关标签
  

闽ICP备14008679号