zoukankan      html  css  js  c++  java
  • 【opencv_python学习之二.五】如何查看opencv_python的函数说明

    1、网上手册查询

    A. 打开Welcome to opencv documentation

    B. 在左侧输入要查询的函数, 如图1.1,假设我们要查询resize函数

    图 1.1

    C. 点击Search按钮后可以看到结果,如图1.2

    图 1.2

    D. 点开第一条函数说明,进去查找到resize函数,如图1.3

    图 1.3

    从图1.3中可以看到在python中的resize函数说明为

    cv2.resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) → dst
    
    • [, dst[, fx[, fy[, interpolation]]]])意味着这些参数是可选参数

    • → dst意味着函数返回dst

    • 参数说明Parameters可以看到参数的具体含义
      D.A: src – input image, src为输入图片
      D.B: dst, dst为输出图片
      D.C: dsize, dsize为输出图片大小,当它为0时,要计算dsize = Size(round(fx*src.cols), round(fy&src.rows)),由这句话可以得出当dsize=0时,要同时输入src、fx、fy
      D.D: fx, 水平缩放倍率,当它为0时则有fx = (double)dsize.width/src.clos
      D.E: fy, 垂直缩放倍率,当它为0时则有fy = (double)dsize.height/src.rows
      D.F: interpolation插值,主要有以下几个选项

    INTER_NEAREST
    INTER_LINEAR
    INTER_AREA
    INTER_CUBIC
    INTER_LANCZOS4
    
    • 根据D.C、D.D、D.E可知道定有dsize和fx、fy两种方式可以指定输出图片大小。

    dsize方式

    dsize=(180, 180)
    

    fx、fy方式

    fx=2, fy=2
    

    如果dsize和fx、fy都存在,先计算dsize,如果dsize=None, 则输出图片大小为fx、fy,如果dsize!=None, 则为dsize。

    • 阅读了上面的说明,我们知道resize可以像下面这样用
    # 只指定src和dsize
    res = cv2.resize(src=img, dsize=(2*width, 2*height))
    
    # 只指定src、dsize和interpolation
    res = cv2.resize(src=img, dsize=(2*width, 2*height), interpolation = cv2.INTER_LINEAR)
    
    # 只指定src、dsize、fx、fy
    res = cv2.resize(src=img, dsize=None, fx=0.5, fy = 0.5)
    
    # 只指定src、dsize、fx、fy和interpolation
    res = cv2.resize(src=img, dsize=None, fx=0.5, fy = 0.5, interpolation = cv2.INTER_LINEAR)
    
    

    2、使用help命令查看

    A. 在CMD中运行python进入python模式中

    F:QAQpythonopencv>python
    Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AM
    D64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    

    B. 导入cv2模块

    >>> import cv2
    

    C. 使用help查看cv2.resize函数

    >>> help(cv2.resize)
    Help on built-in function resize:
    
    resize(...)
        resize(src, dsize[, dst[, fx[, fy[, interpolation]]]]) -> dst
        .   @brief Resizes an image.
        .
        .   The function resize resizes the image src down to or up to the specified
     size. Note that the
        .   initial dst type or size are not taken into account. Instead, the size a
    nd type are derived from
        .   the `src`,`dsize`,`fx`, and `fy`. If you want to resize src so that it f
    its the pre-created dst,
        .   you may call the function as follows:
        .   @code
        .   // explicitly specify dsize=dst.size(); fx and fy will be computed from
    that.
        .   resize(src, dst, dst.size(), 0, 0, interpolation);
        .   @endcode
        .   If you want to decimate the image by factor of 2 in each direction, you
    can call the function this
        .   way:
        .   @code
        .   // specify fx and fy and let the function compute the destination image
    size.
        .   resize(src, dst, Size(), 0.5, 0.5, interpolation);
        .   @endcode
        .   To shrink an image, it will generally look best with cv::INTER_AREA inte
    rpolation, whereas to
        .   enlarge an image, it will generally look best with cv::INTER_CUBIC (slow
    ) or cv::INTER_LINEAR
        .   (faster but still looks OK).
        .
        .   @param src input image.
        .   @param dst output image; it has the size dsize (when it is non-zero) or
    the size computed from
        .   src.size(), fx, and fy; the type of dst is the same as of src.
        .   @param dsize output image size; if it equals zero, it is computed as:
        .   f[	exttt{dsize = Size(round(fx*src.cols), round(fy*src.rows))}f]
        .   Either dsize or both fx and fy must be non-zero.
        .   @param fx scale factor along the horizontal axis; when it equals 0, it i
    s computed as
        .   f[	exttt{(double)dsize.width/src.cols}f]
        .   @param fy scale factor along the vertical axis; when it equals 0, it is
    computed as
        .   f[	exttt{(double)dsize.height/src.rows}f]
        .   @param interpolation interpolation method, see cv::InterpolationFlags
        .
        .   @sa  warpAffine, warpPerspective, remap
    
  • 相关阅读:
    outlook2007邮件里的图片显示不出来
    MimeMessageHelper代码发邮件时,通过客服端登陆到邮箱,在已发送邮件里没有已经通过代码发送的邮件
    wordpress页面F12时源码多出的内容在index.php header.php找不到
    jackson-databind-2.2.3.jar,ackson-annotations-2.2.3.jar和jackson-core-2.2.3.jar下载
    系统分析师教程(张友生)高清pdf下载
    Sharepoint 恢复列表文件
    call this的范围
    吴裕雄--天生自然JAVA开发JSP-Servlet学习笔记:servlet获取表单请求参数并在客户端显示
    吴裕雄--天生自然JAVA开发JSP-Servlet学习笔记:session对象-属性可以在多个页面的跳转之间共享
    吴裕雄--天生自然JAVA开发JSP-Servlet学习笔记:response对象-增加带有中文的Cookie
  • 原文地址:https://www.cnblogs.com/featherw/p/7607301.html
Copyright © 2011-2022 走看看