首页 新闻 搜索 专区 学院

C++中,如何用GDAL将Uint32 img(erdas)的格式的遥感影像转成opencv的Mat格式

0
悬赏园豆:50 [待解决问题]

最近在搞课程作业,需要通过opencv对IMG格式(32位无符号,巨恶心)的影像进行SIFT特征提取匹配,但是opencv无法直接读取IMG格式,需要先用GDAL读取转换成Mat格式,再进行SIFT处理。
问题是找的一些代码:
https://blog.csdn.net/wc781708249/article/details/78479584
https://www.cnblogs.com/zyore2013/p/5815941.html
能正常读取其他类型的img格式影像并成功转换和显示,唯独不能读取我们课程作业中32位无符号的Uint32 IMG格式。
起初以为是因为Opencv中没有对应的Uint32格式,然后在加了一句这种格式的转换代码还行不行。还有,我尝试ERDAS的Layer Stack工具把影像数据转换成其他的Int32、Uint16、Int16和Double等类型还是不行,不过有一点小发现是转换成整数格式图像显示的是黑色,转换成浮点类型图像显示的是黑中带有颜色的密集点。
图像数据应该是没问题的,能用ERDAS和ENVI显示,但是用代码读取转换成Mat格式就不行,可能是大佬们写这些代码的时候没有遇到Uint32 IMG的格式。
求各位大佬高抬贵手~真的被困扰好几天了(;′⌒`)

Jacod的主页 Jacod | 初学一级 | 园豆:152
提问于:2020-07-24 23:11
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册