回复 8楼 自由而无用
for s in scales:
h_scaled, w_scaled = int(h*s), int(w*s)
img_scaled1 = cv2.resize(img1, (h_scaled, w_scaled), interpolation=cv2.INTER_CUBIC)
img_scaled2 = cv2.resize(img2, (h_scaled, w_scaled), interpolation=cv2.INTER_CUBIC)
# extract patches
for i in range(0, h_scaled-patch_size+1, stride):
for j in range(0, w_scaled-patch_size+1, stride):
x1 = img_scaled1[i:i+patch_size, j:j+patch_size]
x2 = img_scaled2[i:i + patch_size, j:j + patch_size]
for k in range(0, aug_times):
ra=np.random.randint(0, 8)
x_aug1 = data_aug(x1, mode=ra)
x_aug2 = data_aug(x2, mode=ra)
patches1.append(x_aug1)
patches2.append(x_aug2)
return patches1, patches2
对于这段代码的理解,s是通道数吗?
h_scaled是一层图片的高,w_scaled 是一层图片的宽
img_scaled1和img_scaled2是缩小之后的图片尺寸
两个for循环条件是遍历每个patche
i:i+patch_size, j:j+patch_size是更新i,j?我看过吴恩达的课,他课上说冒号是更新的意思,是这样么?
第三个for循环,调用data_aug函数达到数据增加的效果,然后添加到patches列表后面,返回这个列表,不过我不明白mode=ra中mode是啥意思,有什么含义?
还有为什么要用两个patches1,patches2,img_scaled1 ,img_scaled12,设一个不行吗?