gpt4 book ai didi

python - 从图像/数组生成补丁并保存坐标的最快方法

转载 作者:行者123 更新时间:2023-12-01 03:54:38 24 4
gpt4 key购买 nike

我使用 Keras 训练了 CNN,以分割特定模式。它工作得很好,但现在我必须开始“生产阶段”,所以我的 CNN 必须分割数千张图像。

因此,对于 CNN 必须分割的给定图像,对于该图像中的每个像素,我必须在像素周围切出一个补丁,并将所有补丁提供给 CNN。到目前为止我使用了这个解决方案:

WindowSize = 23 #patch size
ws2 = WindowSize / 2
image_data = ndimage.imread(image_file).astype(float)
dimensions = image_data.shape
SizeX = dimensions[1]
SizeY = dimensions[0]
imtest = np.ndarray(shape=(SizeX-2*ws2, 1, WindowSize, WindowSize), dtype=np.float32)
for y in range(ws2,SizeY-ws2):
for x in range(ws2,SizeX-ws2):
imtest[x-ws2,0] = image_data[y-ws2:y+ws2+1, x-ws2:x+ws2+1]

所以我逐行工作,这样我就不会丢失补丁坐标。但是这个解决方案确实很慢。有没有更快的方法?

我也听说过 Keras 中的生成器,但使用 fit_generator 函数训练生成器似乎很有用,但不要在图像上进行测试然后对其进行分割,因为它不保留补丁坐标.

最佳答案

Here is a way to generate images with keras, hope it helps:

datagen = ImageDataGenerator(
rotation_range=.06,
width_shift_range=0.02,
height_shift_range=0.02,
shear_range=0.0002,
zoom_range=0.0002,
horizontal_flip=True,
fill_mode='nearest',
rescale = 1/255.
)

for X_batch, y_batch in datagen.flow(X_train, y_train, batch_size=9):
for i in range(0, 9):
pyplot.subplot(330 + 1 + i)
pyplot.imshow(X_batch[i].reshape(128, 128, 3),
cmap=pyplot.get_cmap('gray'))
pyplot.show()
break

关于python - 从图像/数组生成补丁并保存坐标的最快方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37687216/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com