场景一: 图片中选取部分区域
#提取原图片H(0-300),W(0-500)区域
img_region=img[0:300,0:500]
备注:opencv中,读取img.shape=(H,W,3),第一个数是高,第二个是宽
场景二: 循环把文件夹里的图片读取出来,并把图片路径写进一个数组里
import os
#建立一个空的数组
img_path=[]
path="cropmin/image"
for filename in os.listdir(path):
#拼接图片路径的两种方式
imagepath=path+"\\"+filename
imagepath2=os.path.join(path,filename)
img_path.append(imagepath)
print("img_path",img_path)
场景三: 把归一化之后的图片,转换成对应的二值图
在一分类的语义分割模型,模型输出的是归一化后的数据,保存后只能看到一片黑
x=np.array([[0.1,0.5,0.7],[0.1,0.6,0.7]])
out_ = np.where(x > 0.5, 255, 0).astype('uint8')
#输出为[[ 0 0 255]
[ 0 255 255]]
语义分割中输出的output往往是四维的,(1,1,2,3)
第一个1是batchsize,第二个1是类别
y=np.array([[[[0.1,0.5,0.7],[0.1,0.6,0.7]]]])
print(y.shape)
for i in range(y.shape[0]):
for j in range(y.shape[1]):
out_ = np.where(y[i,j] > 0.5, 255, 0).astype('uint8')
print("out_",out_)
np.where(condition,x,y),满足条件,输出x,否则输出y