コード例 #1
0
def gen_input_data(root_img, root_mask):
    img_list = glob(os.path.join(root_img, '*.jpg'))
    mask_list = glob(os.path.join(root_mask, '*.tif'))
    mask_list = [os.path.basename(i) for i in mask_list]
    img_list_exist = []
    for i in img_list:
        if (os.path.basename(i).split('.')[0] + '_OD.tif') in mask_list:
            img_list_exist.append(i)
    for i in img_list_exist:
        img_file = i
        mask_file = os.path.join(root_mask,
                                 os.path.basename(i).split('.')[0] + '_OD.tif')
        img = scipy.misc.imread(img_file)
        img = img.astype(np.float32)
        img /= 255
        img_crop, params = tight_crop_params(img)
        img_ahe = channelwise_ahe(img_crop)
        raw_img = Image.fromarray(skimage.util.img_as_ubyte(img_crop))
        ahe_img = Image.fromarray(skimage.util.img_as_ubyte(img_ahe))
        mask = Image.open(mask_file)
        scale_size = 512
        pilImage_rescaled = scale_image(raw_img, scale_size)
        pilAHE_rescaled = scale_image(ahe_img, scale_size)
        pilMask_rescaled = scale_image_mask(mask, params, scale_size)
        image_basename = os.path.basename(i).split('.')[0]
        out_imagename = os.path.join(out_img, image_basename + '.png')
        out_ahename = os.path.join(out_ahe, image_basename + '_ahe.png')
        out_maskname = os.path.join(out_mask, image_basename + '_ahe_mask.png')
        pilImage_rescaled.save(out_imagename)
        print('save {}'.format(out_imagename))
        pilAHE_rescaled.save(out_ahename)
        print('save {}'.format(out_ahename))
        pilMask_rescaled.save(out_maskname)
        print('save {}'.format(out_maskname))
        print('\n')
コード例 #2
0
def crop_and_scale_imageandmask(img_file, mask_file, scale_size):
    img = scipy.misc.imread(img_file)
    img = img.astype(np.float32)
    img /= 255
    img_crop, params = tight_crop_params(img)
    pilImage = Image.fromarray(skimage.util.img_as_ubyte(img_crop))
    pilMask = Image.open(mask_file)
    pilImage_rescaled = scale_image(pilImage, scale_size)
    pilMask_rescaled = scale_image_mask(pilImage, scale_size)
    return pilImage_rescaled, pilMask_rescaled
コード例 #3
0
root = '../../data/IDRID/IDRID 3/test'
out_img = os.path.join(root, 'raw')
out_ahe = os.path.join(root, 'ahe')

os.makedirs(out_img, exist_ok=True)
os.makedirs(out_ahe, exist_ok=True)

root_img = '../../data/IDRID/IDRID 3/Training a and b'

img_file = '../../data/IDRID/IDRID 3/Training c/IDRiD_01.jpg'

img = scipy.misc.imread(img_file)
img = img.astype(np.float32)
img /= 255
img_crop, params = tight_crop_params(img)


def scale_image(image, scale_size):
    w, h = image.size
    tw, th = (scale_size, scale_size)
    ratio_w = tw / w
    if ratio_w < 1:
        image = image.resize((tw, th), Image.CUBIC)
    elif ratio_w > 1:
        image = image.resize((tw, th), Image.CUBIC)
    return image

def scale_image_mask(pil_img, params, scale_size):
    mask = pil_img.convert('RGB')
    np_mask = np.array(mask)