影像中缺失部分,其标签设为背景值0

本文介绍了一种处理影像数据的方法,通过Python脚本实现对影像中缺失部分的自动填充,并将其对应的标签设为背景类。此外,还介绍了如何为处理后的影像添加地理坐标信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import numpy as np
import imageio
import cv2
from osgeo import osr, gdal
 
 
def assign_spatial_reference_byfile(src_path, dst_path):
    src_ds = gdal.Open(src_path, gdal.GA_ReadOnly)
    sr = osr.SpatialReference()
    sr.ImportFromWkt(src_ds.GetProjectionRef())
    geoTransform = src_ds.GetGeoTransform()
    dst_ds = gdal.Open(dst_path, gdal.GA_Update)
    dst_ds.SetProjection(sr.ExportToWkt())
    dst_ds.SetGeoTransform(geoTransform)
    dst_ds = None
    src_ds = None
    

def add_background(img,gt):
    # 缺失影像,标签为背景值0
    h,w,ch = img.shape
    temp = np.zeros((h,w,ch)).astype(np.uint8)
    for c,j in zip(range(ch),[0,0,0]):
        
        temp[:,:,c][img[:,:,c]==j]=1
    gt[np.sum(temp,axis=2)==3]=0
    return gt

if __name__ == '__main__':
    
    # 将影像中缺失部分,将其标签设为背景类0
    img = cv2.imread('5_288.tif')
    gt = cv2.imread('5_288_ESA_label.tif',0)
    #print(img.shape,gt.shape)
    result_gt = add_background(img,gt)
    
    imageio.imsave(r'5_288gt.tif',result_gt)
    # 添加地理坐标
    src_path = '5_288_ESA_label.tif'
    dst_path = r'5_288gt.tif'
    assign_spatial_reference_byfile(src_path, dst_path)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陨星落云

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值