【发布时间】:2018-05-20 03:29:28
【问题描述】:
我有图像数组,我需要将其分解为 100x100 的碎片,并在对其进行操作后收集回原始图像。 问题:我无法收集碎片,我有这样的东西,
但真实图像是 800x800
我的代码:
将img作为数组,去掉第三维
path_to_image = './la3.jpg'
image_array = plt.imread(path_to_image)
image_array = image_array[:, :, 0]
写入 100x100 的新数组片段(工作正常):
main2_array = np.zeros(10000,)
for row in tqdm_notebook(range(0,8)):
for col in range(0,8):
main2_array = np.vstack((main2_array, image_array[0 + (100*row):100 + (100*row) ,0 + (100*col):100 + (100*col)].flatten()))
main2_array = np.delete(main2_array, main2_array[0] , axis=0 )
收集碎片(它不工作)
main_array = np.zeros(100,)
for p in tqdm_notebook(range(0,100)):
for i in range(0,64):
main_array = np.vstack((main_array, main2_array[0 + (10000*i) + (100*p): 100 + (10000*i) + (100*p)]))
main_array = np.delete(main_array, main_array[0] , axis=0 )
收集碎片后我得到
【问题讨论】:
-
什么是
tqdm_notebook? -
tqdm_notebook 是查看进程状态的工具,例如下载行。 tqdm.github.io
-
为什么要创建一维零数组,向其中添加行然后删除原始的一维零数组?
-
您的 收集碎片 代码会产生 ValueError。请提供minimal reproducible example。