zoukankan      html  css  js  c++  java
  • OpenCV 图像处理学习笔记(一)

    解读IplImage结构

    typedef struct _IplImage
    {
    int nSize;                   
    /* IplImage大小 */
    int ID;                        
    /* 版本 (=0)*/
    int nChannels;          
    /* 大多数OPENCV函数支持1,2,3 或 4 个通道 */
    int alphaChannel;
    /* 被OpenCV忽略 */
    int depth;
    /* 像素的位深度: IPL_DEPTH_8U, IPL_DEPTH_8S, IPL_DEPTH_16U,
    IPL_DEPTH_16S, IPL_DEPTH_32S, IPL_DEPTH_32F and IPL_DEPTH_64F 可支持 */
    char colorModel[4];
    /* 被OpenCV忽略 */
    char channelSeq[4];
    /* 同上 */
    int dataOrder;
    /* 0 - 交叉存取颜色通道, 1 - 分开的颜色通道.
    cvCreateImage只能创建交叉存取图像 */
    int origin;
    /* 0 - 顶—左结构,1 - 底—左结构 (Windows bitmaps 风格) */
    int align;
    /* 图像行排列 (4 or 8). OpenCV 忽略它,使用 widthStep 代替 */
    int width;
    /* 图像宽像素数 */
    int height;
    /* 图像高像素数*/
    struct _IplROI *roi;
    /* 图像感兴趣区域. 当该值非空只对该区域进行处理 */
    struct _IplImage *maskROI;
    /* 在 OpenCV中必须置NULL */
    void *imageId;
    /* 同上*/
    struct _IplTileInfo *tileInfo;
    /*同上*/
    int imageSize;
    /* 图像数据大小(在交叉存取格式下imageSize=image->height*image->widthStep),单位字节*/
    char *imageData;
    /* 指向排列的图像数据 */
    int widthStep;
    /* 排列的图像行大小,以字节为单位 */
    int BorderMode[4];
    /* 边际结束模式, 被OpenCV忽略 */
    int BorderConst[4];
    /* 同上 */
    char *imageDataOrigin;
    /* 指针指向一个不同的图像数据结构(不是必须排列的),是为了纠正图像内存分配准备的 */
    }
    IplImage;

    图像的通道指是什么?图像的通道指的是什么?是不是灰度图的通道数为1,彩色图的通道为3?

    正确!

    基本上,描述一个像素点,如果是灰度,那么只需要一个数值来描述它,就是单通道。
    如果一个像素点,有RGB三种颜色来描述它,就是三通道。

    (2) 对于2通道和4通道如何看待?哪位帮忙解释一下?

    两通道暂时没见过,估计只是编程的方便吧!windows的bmp有时候是一个四通道图像,R、G、B加上一个A通道,表示透明度

    是的,最后这个,一般叫做alpha通道,表示透明度的。

    4通道通常为RGBA,在某些处理中可能会用到。

    重要结构元素说明:

    depth和nChannels

    nChannels是通道数,为1,2,3,4

    depth代表颜色深度,使用的是一下定义的宏

    depth的宏定义:
    IPL_DEPTH_8U,无符号8bit整数(8u)
    IPL_DEPTH_8S,有符号8bit整数(8s)
    IPL_DEPTH_16S,有符号16bit整数(16s)
    IPL_DEPTH_32S,有符号32bit整数(32s)
    IPL_DEPTH_32F,32bit浮点数,单精度(32f)
    IPL_DEPTH_64F,64bit浮点数,双精度(64f)

     

  • 相关阅读:
    PostgreSQL中的partition-wise join
    Partition-wise join
    外观模式 门面模式 Facade 结构型 设计模式(十三)
    桥接模式 桥梁模式 bridge 结构型 设计模式(十二)
    组合模式 合成模式 COMPOSITE 结构型 设计模式(十一)
    创建型设计模式对比总结 设计模式(八)
    原型模式 prototype 创建型 设计模式(七)
    单例模式 创建型 设计模式(六)
    建造者模式 生成器模式 创建型 设计模式(五)
    抽象工厂模式 创建型 设计模式(四)
  • 原文地址:https://www.cnblogs.com/haoyuanyuan/p/3480784.html
Copyright © 2011-2022 走看看