Hello Mat

 找回密码
 立即注册
查看: 5833|回复: 0

读取文件夹内图像--方法1

[复制链接]

84

主题

115

帖子

731

金钱

管理员

Rank: 9Rank: 9Rank: 9

积分
1467
发表于 2019-7-26 21:59:36 | 显示全部楼层 |阅读模式
读取文件夹内图像:
图像以数字命名:
参考:【训练样本切分小图】
供深度学习算法调用:Pytorch_Unet图像分割
  1. import torch.utils.data as data
  2. import PIL.Image as Image
  3. import os

  4. def make_dataset(root):
  5.     imgs=[]
  6.     n=len(os.listdir(root))//2
  7. #    for i in range(100):
  8.     for i in range(100):
  9.         for j in range(16):
  10.             img=os.path.join(root,"%03d_%d.png"%(i,j+1))
  11.             mask=os.path.join(root,"%03d_%d_mask.png"%(i,j+1))
  12.             imgs.append((img,mask))
  13.     return imgs

  14. def make_dataset512(root):
  15.     imgs=[]
  16.     n=len(os.listdir(root))//10
  17.     for i in range(n):
  18.         img=os.path.join(root,"%03d.png"%i)
  19.         mask=os.path.join(root,"%03d_mask.png"%i)
  20.         imgs.append((img,mask))
  21.     return imgs


  22. class LiverDataset(data.Dataset):
  23.     def __init__(self, root, transform=None, target_transform=None):
  24.         imgs = make_dataset(root)
  25.         self.imgs = imgs
  26.         self.transform = transform
  27.         self.target_transform = target_transform

  28.     def __getitem__(self, index):
  29.         x_path, y_path = self.imgs[index]
  30.         img_x = Image.open(x_path)
  31.         img_y = Image.open(y_path)
  32.         if self.transform is not None:
  33.             img_x = self.transform(img_x)
  34.         if self.target_transform is not None:
  35.             img_y = self.target_transform(img_y)
  36.         return img_x, img_y

  37.     def __len__(self):
  38.         return len(self.imgs)
复制代码












回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Python|Opencv|MATLAB|Halcom.cn ( 蜀ICP备16027072号 )

GMT+8, 2024-11-23 00:01 , Processed in 0.230904 second(s), 21 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表