OpenCV库和GDAL库数据类型转换

  • 一、数据类型总结
  • 二、OpenCV数据类型定义
    • 1.1 生成类型定义
    • 1.2 读取类型定义
  • 三、GDAL库数据类型定义

一、数据类型总结

写在前面:由于在编写代码时总是在各种数据类型之间绕来绕去,因此整理了这一表格以供参考,将其分享出来希望能对有与我同样困扰的朋友有所帮助,如有错误请您批评指正。

在第二、三节截取了两库关于数据类型的源码以供参照。


二、OpenCV数据类型定义

1.1 生成类型定义

#define CV_8U   0
#define CV_8S   1
#define CV_16U  2
#define CV_16S  3
#define CV_32S  4
#define CV_32F  5
#define CV_64F  6
#define CV_USRTYPE1 7#define CV_MAT_DEPTH_MASK       (CV_DEPTH_MAX - 1)
#define CV_MAT_DEPTH(flags)     ((flags) & CV_MAT_DEPTH_MASK)#define CV_MAKETYPE(depth,cn) (CV_MAT_DEPTH(depth) + (((cn)-1) << CV_CN_SHIFT))
#define CV_MAKE_TYPE CV_MAKETYPE#define CV_8UC1 CV_MAKETYPE(CV_8U,1)
#define CV_8UC2 CV_MAKETYPE(CV_8U,2)
#define CV_8UC3 CV_MAKETYPE(CV_8U,3)
#define CV_8UC4 CV_MAKETYPE(CV_8U,4)
#define CV_8UC(n) CV_MAKETYPE(CV_8U,(n))#define CV_8SC1 CV_MAKETYPE(CV_8S,1)
#define CV_8SC2 CV_MAKETYPE(CV_8S,2)
#define CV_8SC3 CV_MAKETYPE(CV_8S,3)
#define CV_8SC4 CV_MAKETYPE(CV_8S,4)
#define CV_8SC(n) CV_MAKETYPE(CV_8S,(n))#define CV_16UC1 CV_MAKETYPE(CV_16U,1)
#define CV_16UC2 CV_MAKETYPE(CV_16U,2)
#define CV_16UC3 CV_MAKETYPE(CV_16U,3)
#define CV_16UC4 CV_MAKETYPE(CV_16U,4)
#define CV_16UC(n) CV_MAKETYPE(CV_16U,(n))#define CV_16SC1 CV_MAKETYPE(CV_16S,1)
#define CV_16SC2 CV_MAKETYPE(CV_16S,2)
#define CV_16SC3 CV_MAKETYPE(CV_16S,3)
#define CV_16SC4 CV_MAKETYPE(CV_16S,4)
#define CV_16SC(n) CV_MAKETYPE(CV_16S,(n))#define CV_32SC1 CV_MAKETYPE(CV_32S,1)
#define CV_32SC2 CV_MAKETYPE(CV_32S,2)
#define CV_32SC3 CV_MAKETYPE(CV_32S,3)
#define CV_32SC4 CV_MAKETYPE(CV_32S,4)
#define CV_32SC(n) CV_MAKETYPE(CV_32S,(n))#define CV_32FC1 CV_MAKETYPE(CV_32F,1)
#define CV_32FC2 CV_MAKETYPE(CV_32F,2)
#define CV_32FC3 CV_MAKETYPE(CV_32F,3)
#define CV_32FC4 CV_MAKETYPE(CV_32F,4)
#define CV_32FC(n) CV_MAKETYPE(CV_32F,(n))#define CV_64FC1 CV_MAKETYPE(CV_64F,1)
#define CV_64FC2 CV_MAKETYPE(CV_64F,2)
#define CV_64FC3 CV_MAKETYPE(CV_64F,3)
#define CV_64FC4 CV_MAKETYPE(CV_64F,4)
#define CV_64FC(n) CV_MAKETYPE(CV_64F,(n))

1.2 读取类型定义

/* \typedefShorter aliases for the most popular specializations of Vec<T,n>
*/
typedef Vec<uchar, 2> Vec2b;
typedef Vec<uchar, 3> Vec3b;
typedef Vec<uchar, 4> Vec4b;typedef Vec<short, 2> Vec2s;
typedef Vec<short, 3> Vec3s;
typedef Vec<short, 4> Vec4s;typedef Vec<ushort, 2> Vec2w;
typedef Vec<ushort, 3> Vec3w;
typedef Vec<ushort, 4> Vec4w;typedef Vec<int, 2> Vec2i;
typedef Vec<int, 3> Vec3i;
typedef Vec<int, 4> Vec4i;
typedef Vec<int, 6> Vec6i;
typedef Vec<int, 8> Vec8i;typedef Vec<float, 2> Vec2f;
typedef Vec<float, 3> Vec3f;
typedef Vec<float, 4> Vec4f;
typedef Vec<float, 6> Vec6f;typedef Vec<double, 2> Vec2d;
typedef Vec<double, 3> Vec3d;
typedef Vec<double, 4> Vec4d;
typedef Vec<double, 6> Vec6d;

三、GDAL库数据类型定义

/*! Unknown or unspecified type */          GDT_Unknown = 0,
/*! Eight bit unsigned integer */           GDT_Byte = 1,
/*! Sixteen bit unsigned integer */         GDT_UInt16 = 2,
/*! Sixteen bit signed integer */           GDT_Int16 = 3,
/*! Thirty two bit unsigned integer */      GDT_UInt32 = 4,
/*! Thirty two bit signed integer */        GDT_Int32 = 5,
/*! Thirty two bit floating point */        GDT_Float32 = 6,
/*! Sixty four bit floating point */        GDT_Float64 = 7,
/*! Complex Int16 */                        GDT_CInt16 = 8,
/*! Complex Int32 */                        GDT_CInt32 = 9,
/*! Complex Float32 */                      GDT_CFloat32 = 10,
/*! Complex Float64 */                      GDT_CFloat64 = 11,

OpenCV库和GDAL库数据类型转换相关推荐

  1. python rasterio库和gdal库匹配与冲突问题安装办法

    前言 近期在对栅格数据进行处理的过程中需要用到rasterio库,在使用pycharm安装的过程中出现了各种问题,pycharm无法安装成功.切换了各种网络环境(包括使用代理)都无法解决.后来还是使用 ...

  2. python绘制三维地形shade()参数_python中的Matplot库和Gdal库绘制富士山三维地形图-参考了虾神的喜马拉雅山...

    首先请大家读一下面这篇文章了解什么是Gdal http://blog.csdn.net/grllery/article/details/77822595 剩下的我要公布绘制富士山的代码了,虽然基本co ...

  3. python绘制三维地形_python中的Matplot库和Gdal库绘制富士山三维地形图-参考了虾神的喜马拉雅山...

    首先请大家读一下面这篇文章了解什么是Gdal http://blog.csdn.net/grllery/article/details/77822595 剩下的我要公布绘制富士山的代码了,虽然基本co ...

  4. 基于GDAL库,读取海洋风场数据(.nc格式)c++版

    经过这一段时间的对海洋数据的处理,接触了大量的与海洋相关的数据,例如海洋地形.海洋表面温度.盐度.湿度.云场.风场等数据,除了地形数据是grd格式外,其他的都是nc格式的数据.本文将以海洋风场数据为例 ...

  5. GDAL库读取Envisat ASAR数据

    GDAL库本身就可以读取Envisat的图像数据,具体链接为:http://www.gdal.org/frmt_various.html#Envisat. 但是对于ASAR传感器的数据来说,GDAL在 ...

  6. 修改GDAL库支持IRSP6数据

    使用GDAL库发现不能打开IRSP6的数据,不过看GDAL提供的文件格式里面却是支持IRSP6的数据的,具体可以参考网页http://www.gdal.org/frmt_fast.html.下面图1是 ...

  7. GDAL库中WFS服务中含有中文不能获取数据的问题

    GDAL库中目前提供了对WFS服务发布的数据进行获取,目前发现对于中文的服务名称或者图层名为中文,GDAL不能正确识别.通过调试发现,其原因有下面两点: 1.输入的URL路径没有使用UTF8编码而从网 ...

  8. python 读取geotiff_科学网—利用python GDAL库读写geotiff格式的遥感影像方法 - 张伟的博文...

    (1)利用python GDAL库读写geotiff格式的遥感影像方法,具有很好的参考价值,不错! from osgeo import gdal import numpy as np def read ...

  9. gdal库的三个使用心得

    作者:朱金灿 来源:http://blog.csdn.net/clever101 最近使用gdal库比较多,就谈谈gdal库的一些使用心得. 第一个是GDALOpen的访问权限参数会影响图像的创建金字 ...

最新文章

  1. openlayers 2 高亮显示元素以及通过属性查询高亮某一元素
  2. Python os.chdir() 方法
  3. 需求阶段如何书写Use Case
  4. 快递取件码生成软件_一种自动生成取件码的快递柜及其使用方法与流程
  5. 中国机器人清洁器行业市场供需与战略研究报告
  6. Thin的DateChooser代码学习(getScrollPosition)(原创,转载请声明)
  7. 软考中高项学员:2016年4月4日作业
  8. hadoop2.6.0的eclipse插件编译和设置
  9. Android.light.apk,Android_Lightblue.apk
  10. python魔兽挂机_魔兽怀旧服玩家有多难?为了不用重新排队,自制绝不封号的外挂!...
  11. 【机器学习】数据增强(Data Augmentation)
  12. mac ~/.vuerc may be outdated. Please delete it and re-run vue-cli in manual mode.
  13. 每日一题【56】导数-公切线问题
  14. 计算机的简史:从数字运算到强大的现代机器
  15. 为程序员写的Reed-Solomon码解释
  16. html语义化标签是什么,HTML语义化标签探析
  17. python爬虫笔记一:爬取豆瓣中指定的明星所有图片
  18. 【Unity 3D】使用EasyAR实现单图识别的AR增强现实功能(附实现步骤)
  19. 通用mapper的使用
  20. Oracle Data Pump(数据泵)一

热门文章

  1. 北斗导航 | GNSS仰角和方位角的计算和XYZ与BLH的坐标转换(附原理matlab源代码)
  2. 外部信号输入源阻抗与ADC内部开关电阻关系
  3. 中国无线电力传输行业市场供需与战略研究报告
  4. python做七夕礼物_python写七夕硬核礼物!
  5. Emenasa部署UR10e机器人实现汽车零件进行塑料定量的自动化
  6. html a标签相关属性设置
  7. ABAP-选择屏幕(四) 动态修改屏幕
  8. 拍摄短视频需要哪些工具?一部手机还不够,简单的设备你得有
  9. 台式计算机一般多大功率,电脑主机功率一般多大
  10. (毕业设计资料)基于单片机的自动变速箱电控系统