学习笔记_numpy图片基本操作_自用

场景一: 图片中选取部分区域

#提取原图片H(0-300),W(0-500)区域
img_region=img[0:300,0:500]

备注:opencv中,读取img.shape=(H,W,3),第一个数是高,第二个是宽
学习笔记_numpy图片基本操作_自用_第1张图片
场景二: 循环把文件夹里的图片读取出来,并把图片路径写进一个数组里

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

你可能感兴趣的:(学习)