zoukankan      html  css  js  c++  java
  • opencv 图像深度(depth)

    原文地址:http://blog.csdn.net/dingfc/article/details/7457984

    图像深度是指存储每个像素所用的位数,也用于量度图像的色彩分辨率.图像深度确定彩色图像的每个像素可能有的颜色数,或者确定灰度图像的每个像素可能有的灰度级数.它决定了彩色图像中可出现的最多颜色数,或灰度图像中的最大灰度等级.比如一幅单色图像,若每个象素有8位,则最大灰度数目为2的8次方,即256.一幅彩色图像RGB3个分量的象素位数分别为4,4,2,则最大颜色数目为2的4+4+2次方,即1024,就是说像素的深度为10位,每个像素可以是1024种颜色中的一种.

    例如:一幅画的尺寸是1024*768,深度为16,则它的数据量为1.5M。

    计算如下:1024*768*16bit=(1024*768*16)/8字节=[(1024*768*16)/8]/1024KB={[(1024*768*16)/8]/1024}/1024MB。

    Opencv 转化函数,参考opencv 2.3.1 manual Reference

     1 Converts one array to another with optional linear transformation.  
     2 C: void cvConvertScale(const CvArr* src, CvArr* dst, double scale=1, double shift=0)  
     3 #define cvCvtScale cvConvertScale  
     4 #define cvScale cvConvertScale  
     5 #define cvConvert(src, dst ) cvConvertScale((src), (dst), 1, 0 )  
     6 Parameters:  
     7 src – Source array  
     8 dst – Destination array  
     9 scale – Scale factor  
    10 shift – Value added to the scaled source array elements  
    scale (Double)
    The value to be multipled with the pixel
    shift (Double)
    The value to be added to the pixel
    Return Value
    Image of the specific depth, val = val * scale + shift

    如果 scale=1,shift=0 就不会进行比例缩放. 这是一个特殊的优化,相当于该函数的同义函数名:cvConvert 。

    如果原来数组和输出数组的类型相同,这是另一种特殊情形,可以被用于比例缩放和平移矩阵或图像,此时相当于该函数的同义函数名:cvScale。

    因此可以用这个函数实现不同位深之间的转换,也可以用于不同数据类型之间的转换!



    下面转一段别人总结的深度显示范围。
    测试double型:0.0--1.0之间                          IPL_DEPTH_64F

    测试float型:0.0--1.0之间                             IPL_DEPTH_32F

    测试long型:0--65535之间                            IPL_DEPTH_32S        

    测试short int型:-32768--32767之间                 IPL_DEPTH_16S       

    测试unsigned short int型:0--65535之间             IPL_DEPTH_16U

    测试char型:-128--127之间                           IPL_DEPTH_8S         

    测试unsigned char型:0--255之间                    IPL_DEPTH_8U

    这个时候如果需要保存图像,请记住要先转换到IPL_DEPTH_8U的深度。因为只有8位单通道或者3通道(通道顺序为'BGR')才可以使用cvSaveImage保存。下

  • 相关阅读:
    POJ 3669 Meteor Shower【BFS】
    用于JS日期格式化,以及简单运算的Date包装工具类
    asp+jQuery解决中文乱码
    jQuery制作信息提示弹出层插件【推荐】
    让 SyntaxHighlighter 3.x 支持 Lua 语法着色
    JQuery操作TABLE,及console.info问题。
    可加装广告的swf播放器JS代码
    Java 绘制环形的文字 (Circle Text Demo)
    Java数据库操作类演示
    Java 通过 HTTP 下载文件
  • 原文地址:https://www.cnblogs.com/lzhu/p/8060051.html
Copyright © 2011-2022 走看看