我想筛分py中的分类图像,并且尝试使用gdal筛分功能,但无法使用:
语法:
SieveFilter(Band srcBand,Band maskBand,Band dstBand,int阈值,int connectedness = 4,char ** options = None,GDALProgressFunccallback = 0,void * callback_data = None)-> int
我的代码:
gdal.SieveFilter(1 "C:/X/testX.tif",None,1 "C:/X/testX_sieved.tif",100, 8)
这里有什么错误?
我不相信gdal sieve命令有有效的python绑定。我可以通过使用以下命令从命令行调用它来成功运行它:
sys.path.append(r'C:\Users\*****\AppData\Local\conda\conda\envs\****\Scripts')
gm = os.path.join('C:\\','Users','*****','AppData','Local','conda','conda','envs','****','Scripts','gdal_sieve.py')
sieve_command = ["python", gm,'-st','10','-8','-nomask','-of','GTiff','to_be_sieved.tif','sieved.tif']
subprocess.call(sieve_command,shell=True)
当然,您需要在前几行中更改一些路径以指向您的gdal脚本的存储位置。