Opencv

计算机视觉Opencv算法约 785 字大约 3 分钟...

提示

opencv

  • 1.输入、显示和保存图像

    • 读取:imread()
    • 显示:imshow()
    • 保存:imwrite()
    • 窗口:namedWindow()
  • 2.读取、显示、保存和处理视频

    VideoCapture(),参数为0为读取摄像头,参数为文件名读取对应视频文件

  • 3.画线,画圆,画矩形,画多边形,显示文字

    • 线:line()
    • 矩形:rectangle()
    • 圆:circle()
    • 多边形:polylines()
    • 显示文字:putText()
  • 4.框住并得到目标位置(获取鼠标消息)

    • setMouseCallback():回调函数,第一个参数为窗口名,需要自己设计;第二个参数为自己写的函数,在这里我写了一个可以对目标进行框定和位置获取的函数。

  • **6.图像基础操作:像素open in new window、属性、ROI、通道、填充

    • 像素:直接对原图数值进行更改
    • 属性:size、dtype、shape
    • ROI:感兴趣区域
    • 通道:img的第三维的数值
    • 填充:四周填充copyMakeBorder()
  • 7.图像运算:加法、混合

    • 相加:add()
    • 混合:addWeighted(),参数4和参数3表示参数3和参数1的混合比例
  • 9.颜色空间转换

    • 颜色空间转换:cvtColor()
    • 判断像素值是否在某区间:inrange()
  • 10.图像几何变换:扩展缩放、平移、旋转、仿射变换、透视变换

    • 扩展缩放:resize()
    • 仿射变换:warpAffine()
    • 旋转辅助函数:getRotationMatrix2D()
    • 透视变换:getPerspectiveTransform(),warpPerspective()
  • 11.图像二值化:简单阈值,自适应阈值,Otsu阈值

    • 阈值分割:threshold()
    • 自适应阈值:adaptiveThreshold()
  • 12.图像平滑:平均、高斯、中值、双边滤波

    • 滤波:blur()
    • 高斯滤波:GaussianBlur()
    • 中值滤波:medianBlur()
    • 双边滤波:bilateralFilter()
  • 13.图像形态学转换

    腐蚀、膨胀、开闭、梯度、礼帽黑帽

    img = cv2.imread('xxx.png',0)
    kernel = np.ones((17,17),np.uint8)
    # 腐蚀
    test1 = cv2.erode(img,kernel=kernel)
    # 膨胀
    test2 = cv2.dilate(img,kernel=kernel)
    # 开运算
    test3 = cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel=kernel)
    # 闭运算
    test4 = cv2.morphologyEx(img,cv2.MORPH_OPEN,kernel=kernel)
    # 形态学梯度 膨胀-腐蚀
    gradient = cv2.morphologyEx(img, cv2.MORPH_GRADIENT, kernel)
    # 礼帽 原始图像与进行开运算之后得到的图像的差。
    tophat = cv2.morphologyEx(img, cv2.MORPH_TOPHAT, kernel)
    # 黑帽 进行闭运算之后得到的图像与原始图像的差
    blackhat = cv2.morphologyEx(img, cv2.MORPH_BLACKHAT, kernel)
    
    
  • 14.图像梯度:各种算子

    • 拉普拉斯: Laplacian()
    • Sobel算子:Sobel()
    • Canny算子:Canny()
  • 15.图像金字塔

    • pyrDown()
    • pyrUp()
  • 16.图像轮廓

    • 找轮廓 findContours
    • 画轮廓 drawContours其他:重心、周长、面积、轮廓近似、凸包、矩阵、最小外接圆、椭圆和直线拟合
  • 17.直方图计算绘制、均衡化、反向投影、2D投影

    • 计算直方图:calcHist()
    • 绘制直方图(pyplot):hist()
    • 直方图均衡化:equalizeHist()
  • 18.图像变换:傅里叶变换

    • 快速傅里叶变换(np):fft()
    • 傅里叶变换(opencv):dft()
  • 19.图像模板匹配

    • 模板匹配:matchTemplate()

  • 20.Hough变换

    ****Hough 直线变换:****HoughLines() ****Hough 圆环变换:****HoughCircles()

  • 22.GrabCut算法进行交互式前景提取

    grabCut()

  • 23.角点检测

    • 角点检测:cornerHarris()
    • 获得n个最佳角点:goodFeaturesToTrack()
  • 24.SIFT算法

    SIFT算法利用了尺度不变性来进行图像关键点的提取

  • 25.ORB算法

    利用SIFT,ORB算法等一般进行特征匹配

已到达文章底部,欢迎留言、表情互动~
  • 赞一个
    0
    赞一个
  • 支持下
    0
    支持下
  • 有点酷
    0
    有点酷
  • 啥玩意
    0
    啥玩意
  • 看不懂
    0
    看不懂
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v2.15.2