【发布时间】:2019-11-11 21:25:42
【问题描述】:
我想从 512x512 彩色图像中提取彩色图像块,并将它们作为单独的图像块保存在文件夹中。如何从这些图像补丁重建我的原始图像? 我已经阅读并查看了一些类似的问题,但它们并没有解决我的问题。
我做了一些阅读并决定使用 SKimage 中的 view_as_windows 函数来执行我的图像修补。我还设法将我的补丁保存到 png 文件中。
当前使用 SKimage view_as_window 从大小为 512x512 patch_img = view_as_windows(input_img, (128, 128, 3), step=64) 的彩色图像中提取色块,当显示输出数组的详细信息时,我注意到 patch_img 的形状为 (7, 7, 1, 128, 128, 3 ) 和 unint8 的 dtype。要将每个补丁保存为单独的图像,我使用以下代码。
for i in range(0, len(patch_img)): #range should be 0 to 6
for x in range(0, len(patch_img)):
fname= 'IMG_test_{}_{}.png'.format(i, x)
#cv2.imwrite(fname, crop_img[i,x,0,:,:,:])
当使用 CV2 加载包含保存图像的整个文件夹时,我无法恢复 patch_img 的相同形状和 dtype,而是得到一个形状 (49、128、128、3)。我该如何解决这个问题。
编辑:使用savedimg = savedimg.reshape(7,7,128 128, 3)修复了形状
另外,我怎样才能使用保存的图像补丁来重建原始图像?
【问题讨论】:
标签: python opencv scikit-image