opecncv不同深度图像的转换(IPL_DEPTH_8U和IPL_DEPTH_32F)

原创 2016年05月30日 23:01:45
由于在很多的图片使用过程中会经常使用到各种转换,总结如下
opencv的IplImage结构中有这么一个成员:depth。
其取值如下:
枚举值
用%d输出 二进制
IPL_DEPTH_8U : 8 : 0x0000 0008
IPL_DEPTH_8S :-2147483640 : 0xffff fff8
IPL_DEPTH_16U : 16 : 0x0000 0010
IPL_DEPTH_16S : -2147483632 : 0xffff fff0
IPL_DEPTH_32S : -2147483616 : 0xffff ffe0
IPL_DEPTH_32F : 32 : 0x0000 0020
IPL_DEPTH_64F : 64 : 0x0000 0040


从文件或摄像头直接读取的图像一般都是8U的,
当有特殊计算需求时可以用cvScale() 或cvCvtScale() 转换。
保存时必须转换回8U!
不同的深度其取值范围不一样:
0.0--1.0之间——IPL_DEPTH_64F
0.0--1.0之间——IPL_DEPTH_32F
0--65535之间——IPL_DEPTH_32S
-32768--32767之间——IPL_DEPTH_16S
0--65535之间——IPL_DEPTH_16U
-128--127之间——IPL_DEPTH_8S
0--255之间——IPL_DEPTH_8U


不同深度图像的转换:
要注意范围
比如IPL_DEPTH_8U 转到 IPL_DEPTH_32U——cvConvertScale(pImg8, pImg32, 1.0/255, 0); 要除255
反过来IPL_DEPTH_32F 到 IPL_DEPTH_8U——cvConverScale(pImg32, pImg8, 255, 0);    要乘以255

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

cvShowImage显示IPL_DEPTH_32F图像

问题背景: 读入RGB图像(8bits)---->转换成灰度图像(8bits)---->转换成Float型(IPL_DEPTH_32F)--->后续处理 问题描述: 1、用cvShowImage显示8...

OpenCV不同图像深度类型的理解

最近利用OpenCV函数库的时候,常常遇到不同深度的图像的转换、显示和保存问题。在网上查阅了很多文章,发现很多说的不够清楚。在此说下自己的理解。...

opecncv不同深度图像的转换(IPL_DEPTH_8U转IPL_DEPTH_32F)

opencv的IplImage结构中有这么一个成员:depth。 其取值如下: 枚举值 用%d输出 二进制 IPL_DEPTH_8U : 8 : 0x0000 0008 IPL_DEPT...
  • hfmeet
  • hfmeet
  • 2014年09月11日 23:16
  • 888

opecncv不同深度图像的转换(IPL_DEPTH_8U和IPL_DEPTH_32F)

转载地址:http://blog.csdn.net/yihandk666/article/details/7612756 由于在很多的图片使用过程中会经常使用到各种转换,有些图片的处理需要在特定的深...

openCV学习笔记(8)-- 图像阈值化

图像阈值化:在对图像进行操作时,希望能对一些低于和高于一定值的像素进行操作。opencv的cvThreshold()可以完成某些任务。double cvThreshold( CvArr* src, ...

OPECNCV 3.0 机器学习算法总结

OPENCV 深度学习总结

Opencv 16位深度图片显示并保存

项目需要,要将cmos相机的数据读出来,并显示出图片来。同事已经通过FPGA+USB的方式,把相机并行数据转成串行,我需要做的就是上位机,找到frame valid和line valid有位,读取一个...

OpenCV中对图像数据进行64F和8U转换的方法

在OpenCV中很多对数据的运算都需要转换为64F类型,比如伽玛变换,这个很明显要求幂的底数是double类型~ 而cvShowImage()又要求是U8才能显示,否则显示出来是一片空白! 所以经常要...

图像深度(Image Depth)

图像深度是指存储每个像素所用的位数,他也是用来度量图像的色彩分辨率的。他确定了彩色图像的每个像素可能有的色彩数,或者确定灰度图像的每个像素可能有的灰度级数。他决定了色彩图像中可能出现的最多的色彩数,或...

将yuv转换为Opencv中的Ipl

int colorchannel = 3; IplImage *pCurrFrame = NULL; pInFile = fopen(input.infile, "rb"); if (pInF...
  • tkp2014
  • tkp2014
  • 2015年06月24日 12:56
  • 356
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:opecncv不同深度图像的转换(IPL_DEPTH_8U和IPL_DEPTH_32F)
举报原因:
原因补充:

(最多只允许输入30个字)