作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在从 512x512 图像制作补丁时遇到问题。我正在尝试提取步幅为 32 的 64x64 补丁,这是补丁宽度大小的一半。
我发现 scikit-learn 的 extract_patches_2d 函数可以从原始图像中提取二维 block 。
当我使用这个函数时,似乎函数 extract patches stride 1.
有什么方法可以提取 stride 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])
最佳答案
extract_patches_2d 没有 stride 参数(也许您可以作为功能请求添加到他们的 github)。
我看到了两种可能的修复方法,您可以编写自己的函数(这非常简单),也可以在使用该函数后选择您想要的补丁。
我会选择第一个。
关于python scikit-learn extract_patches_2d 有 strides 选项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50166457/
我是一名优秀的程序员,十分优秀!