c# gdal 查找影像黑洞

        小伙伴们做影像镶嵌后,在接边的地方会有黑洞存在,小伙伴需要找到黑洞,并对黑洞进行ps处理。人工查找速度慢,还有可能漏掉,他们需要个小程序能够定位到黑洞。

        实际情况是,因为给我的影像时镶嵌后的影像,虽然说有个镶嵌线,但是说这个线不准,可能不在影像内。

        首先分析需求

        第一步:影像重采样。我循环遍历影像所有的像素值,然后对影像进行重分类,对同一位置所有波段该点像素值进行判断如果都是0或者5之间,那重新赋值成0,如果都是255,那么赋值成255,其他的就赋值成200。

        第二步:影像矢量化成shp,将像素值赋值给shp的一个属性。

ps:这么做有可能将不是黑洞的地方查找出来,如果线是准的,在以上第一步前,可以对这个线进行缓冲,转成面,然后按照这个面的范围裁剪出接边范围内的影像,然后只对接边内的影像进行重采样,再转shp。

        使用的语言是c#,然后影像处理使用的是gdal。写了一个基于c#,gdal的查找影像漏洞的exe小程序。

        配置gda

        刚开始配置gdal,我就踩坑了,,,我用vs的nuget引入gdal没有成功;然后手动引入gdal_csharp.dll,gdalconst_wrap.dll,ogr_csharp.dll,osr_csharp.dll四个dll,程序虽然生成成功,但是Gdal.AllRegister()语句执行时,就报错了,说找不到gdal_wrap.dll,然后我就想着引入gdal_wrap.dll,但是不让引入,那我想有可能是因为gdal_csharp.dll内部引用了gdal_wrap.dll,他找不到对应的路径,于是我将gdal所有相关的dll都放到程序bin文件夹下,程序运行成功了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值