opecncv不同深度图像的转换(IPL_DEPTH_8U和IPL_DEPTH_32F)
2014-02-21 16:58
1636 查看
转载地址:http://blog.csdn.net/yihandk666/article/details/7612756
由于在很多的图片使用过程中会经常使用到各种转换,有些图片的处理需要在特定的深度下才能完成,所以深度转换是经常会用到的,如果不注意这点的话,会很容易出错的。
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);要乘以2
由于在很多的图片使用过程中会经常使用到各种转换,有些图片的处理需要在特定的深度下才能完成,所以深度转换是经常会用到的,如果不注意这点的话,会很容易出错的。
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);要乘以2
相关文章推荐
- opecncv不同深度图像的转换(IPL_DEPTH_8U和IPL_DEPTH_32F)
- opecncv不同深度图像的转换(IPL_DEPTH_8U和IPL_DEPTH_32F)
- opecncv不同深度图像的转换(IPL_DEPTH_8U转IPL_DEPTH_32F)
- cvShowImage显示IPL_DEPTH_32F图像
- OpenCV笔记——图像不同位深度间的转换
- CV_Assert(myImage.depth() == CV_8U); // 仅接受uchar图像
- opencv 图像深度(depth)
- opencv 图像深度(depth)
- [IOS OpenCV]摄像头采集图片用 CreateIplImageFromUIImage 转换后图像被旋转、变形解决方案
- 深度学习文章3:将自己的图像数据转换成caffe需要的db(leveldb/lmdb)文件
- 【神经网络与深度学习】neural-style、chainer-fast-neuralstyle图像风格转换使用
- 能在不同的深度学习框架之间转换模型?微软的MMdnn做到了
- 深度学习 - 不同深度学习模型间的转换
- 转换为不同灰度级图像
- 深度图像与点云数据之间的转换关系
- OpenCV对不同图像深度的处理
- 深度学习_caffe_图像数据转换成caffe需要的db(leveldb/lmdb)文件
- OpenCV对不同图像深度的处理
- 不同颜色空间的图像转换(RGB到HSV,YUV,Lab)
- 关于OpenCV中利用函数cvConvert实现图像数据类型转换(8U->16S)