opencv中的常用的100个API

打印 上一主题 下一主题

主题 748|帖子 748|积分 2244

以下是 OpenCV 中常用的 100 个 API,这些 API 涉及图像读取、处理、特性提取、画图、视频处理等常见操纵:

1. 图像操纵


  • cv2.imread(filename, flags) - 读取图像。
  • cv2.imwrite(filename, img) - 生存图像。
  • cv2.imshow(window_name, img) - 显示图像。
  • cv2.cvtColor(src, code) - 转换图像颜色空间。
  • cv2.resize(src, dsize, fx, fy, interpolation) - 缩放图像。
  • cv2.rotate(src, rotateCode) - 旋转图像。
  • cv2.flip(src, flipCode) - 翻转图像。
  • cv2.split(src) - 拆分通道。
  • cv2.merge(mv) - 归并通道。
  • cv2.copyMakeBorder(src, top, bottom, left, right, borderType, value) - 添加边框。

2. 图像变换


  • cv2.warpAffine(src, M, dsize) - 仿射变换。
  • cv2.getAffineTransform(srcPoints, dstPoints) - 获取仿射变换矩阵。
  • cv2.warpPerspective(src, M, dsize) - 透视变换。
  • cv2.getPerspectiveTransform(srcPoints, dstPoints) - 获取透视变换矩阵。
  • cv2.remap(src, map1, map2, interpolation) - 重映射。
  • cv2.resize(src, dsize) - 调整巨细。
  • cv2.getRotationMatrix2D(center, angle, scale) - 获取旋转矩阵。
  • cv2.invertAffineTransform(M) - 仿射矩阵求逆。
  • cv2.convertScaleAbs(src, alpha, beta) - 调整对比度和亮度。
  • cv2.normalize(src, dst, alpha, beta, norm_type) - 归一化。

3. 画图功能


  • cv2.line(img, pt1, pt2, color, thickness) - 画线。
  • cv2.rectangle(img, pt1, pt2, color, thickness) - 画矩形。
  • cv2.circle(img, center, radius, color, thickness) - 画圆。
  • cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color, thickness) - 画椭圆。
  • cv2.polylines(img, pts, isClosed, color, thickness) - 画多边形。
  • cv2.fillPoly(img, pts, color) - 填充多边形。
  • cv2.putText(img, text, org, fontFace, fontScale, color, thickness) - 添加文本。

4. 图像阈值


  • cv2.threshold(src, thresh, maxval, type) - 图像二值化。
  • cv2.adaptiveThreshold(src, maxValue, adaptiveMethod, thresholdType, blockSize, C) - 自顺应阈值。
  • cv2.inRange(src, lowerb, upperb) - 范围筛选。

5. 图像平滑与滤波


  • cv2.blur(src, ksize) - 均值滤波。
  • cv2.GaussianBlur(src, ksize, sigmaX) - 高斯滤波。
  • cv2.medianBlur(src, ksize) - 中值滤波。
  • cv2.bilateralFilter(src, d, sigmaColor, sigmaSpace) - 双边滤波。
  • cv2.filter2D(src, ddepth, kernel) - 恣意核卷积。

6. 边沿检测与表面


  • cv2.Canny(image, threshold1, threshold2) - 边沿检测。
  • cv2.findContours(image, mode, method) - 查找表面。
  • cv2.drawContours(image, contours, contourIdx, color, thickness) - 绘制表面。
  • cv2.arcLength(contour, closed) - 计算表面周长。
  • cv2.contourArea(contour) - 计算表面面积。
  • cv2.approxPolyDP(curve, epsilon, closed) - 多边形逼近。
  • cv2.boundingRect(points) - 计算矩形边界。
  • cv2.minEnclosingCircle(points) - 最小包围圆。
  • cv2.convexHull(points) - 凸包。
  • cv2.isContourConvex(contour) - 判定是否为凸形。

7. 形态学操纵


  • cv2.erode(src, kernel, iterations) - 腐蚀。
  • cv2.dilate(src, kernel, iterations) - 膨胀。
  • cv2.morphologyEx(src, op, kernel) - 形态学操纵(开闭运算等)。
  • cv2.getStructuringElement(shape, ksize) - 获取结构元素。

8. 图像直方图


  • cv2.calcHist(images, channels, mask, histSize, ranges) - 计算直方图。
  • cv2.equalizeHist(src) - 直方图均衡化。
  • cv2.createCLAHE(clipLimit, tileGridSize) - 自顺应直方图均衡化。

9. 特性检测与形貌


  • cv2.SIFT_create() - SIFT特性检测。
  • cv2.ORB_create() - ORB特性检测。
  • cv2.FastFeatureDetector_create() - FAST特性检测。
  • cv2.MSER_create() - MSER特性检测。
  • cv2.BRISK_create() - BRISK特性检测。
  • cv2.SimpleBlobDetector_create() - 简单Blob检测。
  • cv2.goodFeaturesToTrack(src, maxCorners, qualityLevel, minDistance) - 检测角点。

10. 特性匹配


  • cv2.BFMatcher(normType) - 暴力匹配器。
  • cv2.FlannBasedMatcher() - FLANN匹配器。
  • cv2.drawMatches(img1, kp1, img2, kp2, matches, outImg) - 绘制匹配结果。

11. 视频操纵


  • cv2.VideoCapture(source) - 打开视频文件或摄像头。
  • cv2.VideoWriter(filename, fourcc, fps, frameSize) - 生存视频。
  • cap.read() - 读取视频帧。
  • cap.isOpened() - 查抄视频是否打开。
  • cap.release() - 开释视频资源。

12. 多少变换与数学操纵


  • cv2.addWeighted(src1, alpha, src2, beta, gamma) - 图像加权。
  • cv2.bitwise_and(src1, src2) - 按位与。
  • cv2.bitwise_or(src1, src2) - 按位或。
  • cv2.bitwise_not(src) - 按位取反。
  • cv2.bitwise_xor(src1, src2) - 按位异或。
  • cv2.minMaxLoc(src) - 最值定位。
  • cv2.reduce(src, dim, rtype) - 归约操纵。

13. 模板匹配


  • cv2.matchTemplate(image, templ, method) - 模板匹配。
  • cv2.minMaxLoc(result) - 获取匹配位置。

14. 深度学习相关


  • cv2.dnn.readNetFromCaffe(protoTxt, model) - 读取Caffe模子。
  • cv2.dnn.readNetFromTensorflow(model, config) - 读取TensorFlow模子。
  • cv2.dnn.readNetFromONNX(model) - 读取ONNX模子。
  • cv2.dnn.blobFromImage(image, scalefactor, size, mean, swapRB, crop) - 图像转换为深度学习输入。

15. 基本工具


  • cv2.waitKey(delay) - 等候键盘输入。
  • cv2.destroyAllWindows() - 销毁所有窗口。
  • cv2.getTickCount() - 获取时间戳。
  • cv2.getTickFrequency() - 获取时间频率。
  • cv2.setMouseCallback(window_name, callback) - 设置鼠标回调。

16. 深入功能


  • cv2.calcOpticalFlowFarneback(prev, next, flow, pyrScale, levels, winsize, iterations, polyN, polySigma, flags) - 光流计算。
  • cv2.cornerHarris(src, blockSize, ksize, k) - Harris角点检测。
  • cv2.cornerSubPix(image, corners, winSize, zeroZone, criteria) - 亚像素角点优化。

17. 自定义与扩展


  • cv2.getTrackbarPos(trackbarname, winname) - 获取滑块值。
  • cv2.createTrackbar(trackbarname, winname, value, count, onChange) - 创建滑块。
  • cv2.fillConvexPoly(img, points, color) - 填充凸多边形。
  • cv2.fillPoly(img, pts, color) - 填充多边形。

18. 图像与视频编码解码


  • cv2.imencode(ext, img) - 编码图像。
  • cv2.imdecode(buf, flags) - 解码图像。
  • cv2.VideoWriter_fourcc(c1, c2, c3, c4) - 获取视频编码器。

19. 其他实用功能


  • cv2.phase(x, y) - 计算幅角。
  • cv2.cartToPolar(x, y) - 笛卡尔坐标到极坐标转换。
  • cv2.polarToCart(magnitude, angle) - 极坐标到笛卡尔坐标转换。
  • cv2.kmeans(data, K, bestLabels, criteria, attempts, flags) - KMeans 聚类。
  • cv2.connectedComponents(image) - 连通域分析。

总结

以上 100 个 OpenCV API 覆盖了 OpenCV 的重要功能模块,帮助开发者快速明白 OpenCV 的强盛功能。在实际使用中,可以根据需求查阅官方文档获取更多详细信息。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

千千梦丶琪

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表