У python scikit-learn extract_patches_2d есть опция успехов?

У меня проблема с созданием патчей из изображений 512x512. Я пытаюсь извлечь патчи 64x64 с шагом 32, что составляет половину размера патча.

Я обнаружил, что функция scikit-learn Extract_patches_2d может извлекать 2D-патчи из исходного изображения.

Когда я использую эту функцию, кажется, что функция извлечения патчей шаг 1.

Есть ли способ извлечь патчи с шагом 32?

def load_train_data(self):
    imgs_row, imgs_col = 512,512
    train_list = []
    train_img = []
    label_list = []
    label_img = []
    train_path = 'C:\\Users\\Lee Doyle\\unet\\data\\Train'
    label_path = 'C:\\Users\\Lee Doyle\\unet\\data\\Label'

    ######################Traindata################################

    print('-' * 30)
    print('load train images...')
    print('-' * 30)
    for i in glob.glob(train_path + '/*.[tT][iI][fF]'):
        train_list.append(abspath(i))
    print(len(train_list))
    for i in train_list:
        # print(i)
        img = cv2.imread(i, cv2.IMREAD_GRAYSCALE)
        # img=cv2.resize(img,(512,512))
        
        #train_img = image.extract_patches_2d(img, (64,64))
               
        train_img.append(img.astype(np.float32)/255.0)
        #train_img.append(img.astype(np.float32)/255.0)
    
    train_img = image.extract_patches_2d(img, (64,64))
   
    train_img = np.array(train_img[i])

person doyle    schedule 04.05.2018    source источник


Ответы (1)


В Extract_patches_2d нет аргумента шага (возможно, вы можете добавить его в качестве запроса функции на их github).

Я вижу два возможных способа исправить это: вы либо пишете свою собственную функцию (что очень просто), либо вы можете выбрать нужные патчи после использования функции.

Я бы пошел на первое.

person Lucas Ramos    schedule 19.03.2019