zoukankan      html  css  js  c++  java
  • OPENCV初探(二)

    数据结构:
    基本数据类型:
    CvPoint(,2D32f,3D32f)     CvSize(,2D32f)                                                 CvScale(four double-precision numbers.)  RGBA
                           CvRect            

    矩阵和图像类型:
    CvArr
       |
       |
       |
    CvMat (只是头)   (向量也用矩阵来表示,这和Matlab很象)   CV_<bit_depth>(S|U|F)C<number_of_channels>说明像素可能不是一个数值
       |                   cvCreateMatHeader() + cvCreateData()                                                    cvInitMatHeader(已有头)cvMat(分配头)
       |    (头+数据)             cvCreateMat()                   cvCloneMat         cvReleaseMat 
       |                   step的含义:一行所占的字节数    例如 cols=3   type=CV_32FC1  3x32/8x1=12    CV_32FC3  3x32/8x3=36
       |                   cvGetElemType                    cvGetDims                       cvGetDimSize(制定维数)
       |                   CV_MAT_ELEM() (已转型)     CV_MAT_ELEM_PTR()
       |
    IplImage          depth channels 分离    origin(左上或左下) dataOrder(像素或平面)            ROI
                         
    构造函数命名规则:
    与结构体命名一样,但首字符小写                                                                     例外cvRealScalar()  [1],cvScalarAll() [1-4]

    需要注意的地方:
    1.使用step避免四字节存取问题
    2.注意1xn,nx1,nx3和3xn的区别        
    3.IplImage 和CvMat的区别:IplImage数据是BYTE指针   step  ,而CvMat是UNION  step/n
    4.在设置了ROI区域后一定要cvResetImageROI(),否则只显示ROI区域
    5.重要公式:imageData +y * widthStep+x*nChannels;
    6.cvConvertScale()先Scale再Convert
    7.cvMul()进行的是对应点的乘法

    Code
  • 相关阅读:
    Javascript高级程序设计第二版第十四章异常笔记
    九大另类中文垂直搜索引擎
    弹出拖动层
    Javascript高级程序设计第二版第十一章DOM2,DOM3笔记
    【物联网智能网关15】WAV播放器(WinForm+WavPlay库实例)
    【物联网中间件平台03】YFIOs安装指南
    【物联网中间件平台05】YFIOs策略开发指南
    【物联网中间件平台01】真正面向物联网的组态软件 YFIOs和YFHMI的前生今世
    【物联网中间件平台02】YFIOs技术白皮书(V1.1)
    【物联网中间件平台06】RFID刷卡拍照
  • 原文地址:https://www.cnblogs.com/westwind/p/1530999.html
Copyright © 2011-2022 走看看