小编Kyr*_*Kyr的帖子

使用skimage view_as_windows制作图像补丁和重建补丁

我想从 512x512 彩色图像中提取彩色图像块,并将它们作为单独的图像块保存在文件夹中。如何从这些图像补丁中重建原始图像?我已经阅读并查看了一些类似的问题,但它们并没有解决我的问题。

我已经阅读了一些内容,并决定使用 SKimage 中的 view_as_windows 函数来执行图像修补。我还设法将补丁保存为 png 文件。

patch_img = view_as_windows(input_img, (128, 128, 3), step=64)目前,在显示输出数组的详细信息时,使用 SKimage view_as_window 从大小为 512x512 的彩色图像中提取补丁,我注意到patch_img它的形状为 (7, 7, 1, 128, 128, 3) ,数据类型为 unint8。要将每个补丁保存为单独的图像,我使用以下代码。

    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,:,:,:])
Run Code Online (Sandbox Code Playgroud)

当使用 CV2 加载包含已保存图像的整个文件夹时,我无法取回相同的形状和 dtype patch_img,而是得到一个形状 (49, 128, 128, 3)。我怎样才能解决这个问题。

编辑:使用固定形状savedimg = savedimg.reshape(7,7,128 128, 3)

另外,如何使用保存的图像补丁来重建原始图像?

python opencv scikit-image

4
推荐指数
1
解决办法
3811
查看次数

标签 统计

opencv ×1

python ×1

scikit-image ×1