输出两幅相似影像未重叠像素的位置

情景:在gee上下载的物候数据中,EOS波段比SOS波段多了两个像素,这应该就属于系统误差之类的问题了。因此,本文将识别出额外的这两个像素的位置,而后将SOS波段对应位置的数值去除,保证数据的一致性。

上代码:

#step1 读取两幅相似影像为二维数组,并分别读取非nan位置
EOS_tuple = np.where(~np.isnan(EOS)) #表示位置的二维元组
SOS_tuple = np.where(~np.isnan(SOS))
#转array
EOS = np.array(EOS_tuple)#形状为(2, EOS中像素个数)
SOS = np.array(SOS_tuple)#形状为(2, SOS中像素个数)

#step2 
a = EOS(像素数多的影像)
b = SOS(像素数少的影像)

#zip(*a)和zip(*b)将坐标的两个部分(x和y)打包成配对
a_str = ["{}_{}".format(x, y) for x, y in zip(*a)]
b_str = ["{}_{}".format(x, y) for x, y in zip(*b)]

# 将数据格式转换为字符串,而后找出两个数组的差异
diff = set(b_str) - set(a_str)

# 输出相差像素的位置
print("Coordinates in b that are not in a:")
for coord_str in diff:
    x, y = map(int, coord_str.split('_'))
    print("({},{})".format(x, y))

撒花!

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值