将 multi class classification 转换为二值图像 classification

Convert multi class classification to binary image classification

我想将多 class 图像转换为二进制图像,以生成两个 bati/非 bati classes 为此,我开始编写这段小代码,但我不知道不知道如何将值 0 分配给我的 classes ( 2,3,4,5,6) 并将值 1 分配给 class 1.

这是我的代码

import georasters as gr
import pandas as pd
img = gr.from_file('D:/Thèse/Partie 2/ZMU/filtre_classification_2018_7classes_fin.tif')
img=img.to_pandas()
img.head()

img =img.loc[:,['value','x','y']]
img = img.rename(columns = {'value':'class', 'x':'Latitude', 'y':"Longitude"})
img.head()


#df['class'] = df['class'].map({'first_element':1, 'second_element':2,'third_element':3})

df = pd.DataFrame([img], columns=["1","3","5","7","9","11"])

您可以简单地使用 df.loc 替换您的 classes

df.loc[df.class!=1,'class']=0
df.loc[df.class==1,'class']=1

这应该将 class=1 的所有内容设置为 0,将其他所有内容设置为 1。