zoukankan      html  css  js  c++  java
  • [转载] OpenCV2.4.3 CheatSheet学习(三)

    四、图像处理(呵呵,重头戏来了)
    1.
    滤波
    filter2D()
    用核函数对图像做卷积。

    sepFilter2D()
    用分解的核函数对图像做卷积。
    首先,图像的每一行与一维的核kernelX做卷积;然后,运算结果的每一列与一维的核kernelY做卷积。

    boxFilter()
    就是滑动窗口平均滤波的二维版。

    GaussianBlur()
    高斯平均,也就是高斯模糊。

    medianBlur()
    中值滤波,个人最爱的滤波函数。

    bilateralFilter()
    双线性滤波。

    前面这四个函数是原来OpenCV里的cvSmooth()取不同参数的应用。

    Sobel()
    使用扩展Sobel 算子计算一阶、二阶、三阶或混合图像差分,看冈萨雷斯的那本《数字图像处理》。

    Scharr()
    计算一阶导,x方向或y方向,以前这个方法是放在cvSobel里的。

    Laplacian()
    拉普拉斯变换。

    erode(), dilate()
    腐蚀、膨胀。

    示例:
    filter2D(image, image, image.depth(),(Mat<float>(3,3)<<-1,-1, -1, -1, 9, -1, -1, -1, -1), Point(1,1),128);
    构造了一个如下所示的核对图像做卷积:
    -1 -1 -1
    -1 9 -1
    -1 -1 -1
    核的锚点在(1,1)位置,卷积之后每个像素加上128.

    2.
    几何变换
    resize()
    改变图像尺寸,可以指定x方向和y方向上的缩放比例,可以指定插值方法。

    getRectSubPix()
    以亚像素精度从图像中提取矩形。
    dst(x,y)=src(x+center.x-(dst.cols-1)*0.5,y+center.y-(dst.rows-1)*0.5)
    其中非整数象素点坐标采用双线性插值提取。

    warpAffine()
    放射变换,看冈萨雷斯《数字图像处理》。

    warpPerspective()
    透射变换。

    remap()
    几何变换。

    convertMaps()
    这是啥?没用过,呵呵。

    示例:
    Mat dst;
    resize(src, dst, Size(), 1./sqrt(2),1./sqrt(2));
    把图像缩小到原来的根号二分之一。

    3.
    图像变换
    cvtColor()
    色彩空间转换。
    顺便提一句,这个函数可以用于把CCDraw格式转换为RGB,请参考:
    http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=18681
    但是不能用于把灰度图转成伪彩图,请参考:
    http://www.opencv.org.cn/forum/viewtopic.php?f=1&t=23729

    threshold()
    二值化,常用操作,一般应用时建议用大津算法,即使用THRESH_OTSU参数。

    adaptivethreshold()
    自适应阈值的二值化。

    floodFill()
    填充连通域。

    integral()
    计算积分图像,一次或者二次。

    distanceTransform()
    距离变换,对原图像的每一个像素计算到最近非零像素的距离。

    watershed()
    分水岭图像分割。

    grabCut()
    一种彩色图像分割算法,效果可以参考这里:
    http://www.cnblogs.com/xrwang/archive/2010/04/27/GrabCut.html

    4.
    直方图
    calcHist()
    计算直方图。

    calcBackProject()
    计算反向投影。

    equalizeHist()
    灰度图像的直方图均衡化,常用操作。

    compareHist()
    比较两个直方图。

    栗子:
    Mat hsv, H;
    cvtColor(image, hsv, CVBGR2HSV);
    int planes[]=f0, 1g, hsize[] = f32, 32g;
    calcHist(&hsv, 1, planes, Mat(), H, 2, hsize,0);
    计算图像的色调-饱和度直方图。



    sume
    2013/1/5

     

  • 相关阅读:
    QT visual stuido 集成插件不能打开ui文件的原因
    KLSudoku 1.2 数独游戏软件发布
    QT for linux 的错误 undefined reference to 'FcFreeTypeQueryFace' 的解决方法
    tp3.2源码解析——入口文件
    关于php调用.net的web service 踩过的坑
    CentOS7 LNMP+phpmyadmin环境搭建(二、LNMP环境搭建)
    CentOS7 LNMP+phpmyadmin环境搭建(一、虚拟机及centos7安装)
    php无限分类
    php的文件引用
    CentOS7 LNMP+phpmyadmin环境搭建(三、安装phpmyadmin)
  • 原文地址:https://www.cnblogs.com/eaglediao/p/7136525.html
Copyright © 2011-2022 走看看