请选择 进入手机版 | 继续访问电脑版

Hello Mat

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 427|回复: 0

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

[复制链接]

19

主题

42

帖子

987

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
987
发表于 2019-7-26 22:04:50 | 显示全部楼层 |阅读模式
读取文件夹内图像:
供深度学习算法调用:Pytorch_Unet图像分割
  1. import torch.utils.data as data
  2. import PIL.Image as Image
  3. import os

  4. def make_dataset_txt(root, txt_file):
  5.     imgs=[]
  6.     with open(txt_file) as f:
  7.         indexs=f.readlines()
  8.     for i in range( len(indexs) ):
  9.         index = str( indexs[i] ).split('.')[0]
  10.         img=os.path.join(root, index+".jpg")
  11.         mask=os.path.join(root,index+".png")
  12.         imgs.append((img,mask))
  13.     return imgs

  14. class LiverDataset(data.Dataset):
  15.     def __init__(self, root, txt_file, transform=None, target_transform=None):
  16.         imgs = make_dataset_txt(root, txt_file)
  17.         self.imgs = imgs
  18.         self.transform = transform
  19.         self.target_transform = target_transform

  20.     def __getitem__(self, index):
  21.         x_path, y_path = self.imgs[index]
  22.         img_x = Image.open(x_path)
  23.         img_y = Image.open(y_path)
  24.         if self.transform is not None:
  25.             img_x = self.transform(img_x)
  26.         if self.target_transform is not None:
  27.             img_y = self.target_transform(img_y)
  28.         return img_x, img_y

  29.     def __len__(self):
  30.         return len(self.imgs)
复制代码
txt_file:
  1. 000_label.png
  2. 001_label.png
  3. 002_label.png
  4. 003_label.png
  5. 004_label.png
  6. 005_label.png
  7. 006_label.png
  8. 007_label.png
  9. 008_label.png
  10. 009_label.png
  11. 010_label.png
  12. 011_label.png
  13. ……
复制代码





回复

使用道具 举报

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

本版积分规则


Python|Opencv|MATLAB|Halcom.cn  

GMT+8, 2019-10-19 17:58 , Processed in 0.092590 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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