zoukankan      html  css  js  c++  java
  • OpenCV python Calibration

    opencv的python接口尽管可以用了,仍然不觉得那么好用… 比如cvMat cv.IplImage等,为什么不用python原生的数据结构呢?

    好,我就来检查下opencv中的各种数据结构、类型间的关系。

    CvPoint

    2D point with integer coordinates (usually zero-based).

    2D point, represented as a tuple (x, y) , where x and y are integers.

    CvPoint2D32f

    2D point with floating-point coordinates

    2D point, represented as a tuple (x, y) , where x and y are floats.

    CvPoint3D32f

    3D point with floating-point coordinates

    3D point, represented as a tuple (x, y, z) , where x, y and z are floats.

    CvPoint2D64f

    2D point with double precision floating-point coordinates

    2D point, represented as a tuple (x, y) , where x and y are floats.

    CvPoint3D64f

    3D point with double precision floating-point coordinates

    3D point, represented as a tuple (x, y, z) , where x, y and z are floats.

    由此看到,Point相关的传tuple,这是很容易理解的

    CvSize

    Pixel-accurate size of a rectangle.

    Size of a rectangle, represented as a tuple (width, height) , where width and height are integers.

    CvSize2D32f

    Sub-pixel accurate size of a rectangle.

    Size of a rectangle, represented as a tuple (width, height) , where width and height are floats.

     

    CvRect

    Offset (usually the top-left corner) and size of a rectangle.

    Rectangle, represented as a tuple (x, y, width, height) , where all are integers.

    CvScalar

    A container for 1-,2-,3- or 4-tuples of doubles.

    CvScalar is always represented as a 4-tuple.

    >>> import cv
    >>> cv.Scalar(1, 2, 3, 4)
    (1.0, 2.0, 3.0, 4.0)
    >>> cv.ScalarAll(7)
    (7.0, 7.0, 7.0, 7.0)
    >>> cv.RealScalar(7)
    (7.0, 0.0, 0.0, 0.0)
    >>> cv.RGB(17, 110, 255)
    (255.0, 110.0, 17.0, 0.0)
    

    CvTermCriteria

    Termination criteria for iterative algorithms.

    Represented by a tuple (type, max_iter, epsilon) .

    type
    CV_TERMCRIT_ITER , CV_TERMCRIT_EPS or CV_TERMCRIT_ITER | CV_TERMCRIT_EPS
    max_iter
    Maximum number of iterations
    epsilon
    Required accuracy
    (cv.CV_TERMCRIT_ITER, 10, 0)                         # terminate after 10 iterations
    (cv.CV_TERMCRIT_EPS, 0, 0.01)                        # terminate when epsilon reaches 0.01
    (cv.CV_TERMCRIT_ITER | cv.CV_TERMCRIT_EPS, 10, 0.01) # terminate as soon as either condition is met
    

    ------------------------------分割--------------------------------------

    CvMat

    A multi-channel 2D matrix. Created by CreateMat , LoadImageM , CreateMatHeader , fromarray .

    type
    A CvMat signature containing the type of elements and flags, int
    step
    Full row length in bytes, int
    rows
    Number of rows, int
    cols
    Number of columns, int
    tostring() → str
    Returns the contents of the CvMat as a single string.

    CvMatND

    Multi-dimensional dense multi-channel array.
    type
    A CvMatND signature combining the type of elements and flags, int
    tostring() → str
    Returns the contents of the CvMatND as a single string.

    IplImage

    The IplImage object was inherited from the Intel Image Processing Library, in which the format is native. OpenCV only supports a subset of possible IplImage formats.
    nChannels
    Number of channels, int.
    width
    Image width in pixels
    height
    Image height in pixels
    depth

    Pixel depth in bits. The supported depths are:

    IPL_DEPTH_8U
    Unsigned 8-bit integer
    IPL_DEPTH_8S
    Signed 8-bit integer
    IPL_DEPTH_16U
    Unsigned 16-bit integer
    IPL_DEPTH_16S
    Signed 16-bit integer
    IPL_DEPTH_32S
    Signed 32-bit integer
    IPL_DEPTH_32F
    Single-precision floating point
    IPL_DEPTH_64F
    Double-precision floating point
    origin
    0 - top-left origin, 1 - bottom-left origin (Windows bitmap style)
    tostring() → str
    Returns the contents of the CvMatND as a single string.

    CvArr

    Arbitrary array

    CvArr is used only as a function parameter to specify that the parameter can be:

    于此看来,point size color scaler 啥的用tuple就可以了,而mat iplimage 啥的要用opencv上定义的,但有一个疑惑是有次需要传mat的时候,我传入了一个list竟然没有出问题。有人能帮忙解释下么?

  • 相关阅读:
    Java 第一章 初识Java
    Tomcat基础教程(三)
    Tomcat基础教程(二)
    Web Service相关工具的配置
    分布式版本控制系统Git的安装与使用
    个人项目小学四则运算 “软件”之初版
    结对项目四则运算 “软件”之升级版
    第一篇作业准备
    Linux常用命令入门文件、网络、系统及其他操作命令
    MySql5.7默认生成的密码无法正常登陆
  • 原文地址:https://www.cnblogs.com/justin_s/p/1918723.html
Copyright © 2011-2022 走看看