我有一个图像,我正在加载到python中,我需要将图像分割成重叠的补丁,我可以用sklearn和skimage来完成。然而,这个函数只输出补丁,但不存储原始图像中补丁的坐标位置。
我没有使用这个来重新组合图像,因为我知道可以使用另一个函数来完成。
目标:
from matplotlib import image
from matplotlib import pyplot
# load image as pixel array
img = image.imread('kolala.jpeg') #img.shape = (2000,1000)
# Outputs a stacked numpy array of patches
patches = sklearn.feature_extraction.image.extract_patches_2d(img, patch_dim=(40,30))
# Ideally want something like
patches , coords = get_patches_and_coords_function(img, patch_dim=(40,30)
print(coords)
[{x_top: 0, y_top:1000, w:30, h:40},{},...]
1条答案
按热度按时间pgky5nke1#
extract_patches_2d
为图像上从左上角开始的每个位置生成补丁-如果可以在图像上裁剪patch_size
的补丁。下面是一个小(无意义)图像的可视化示例。输入图像:
生成的修补程序:
因此,可以用以下公式计算贴片的位置:
这是图像上的位置