回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个大小为10980x10980的图像,我使用python脚本将该图像裁剪为256x256大小。我用于裁剪的脚本是:</p>
<pre><code>from PIL import Image
infile = 'Amritsar_T43SDR.tif'
chopsize = 256
img = Image.open(infile)
width, height = img.size
for x0 in range(0, width, chopsize):
for y0 in range(0, height, chopsize):
box = (x0, y0,
x0+chopsize if x0+chopsize < width else width - 1,
y0+chopsize if y0+chopsize < height else height - 1)
print('%s %s' % (infile, box))
img.crop(box).save('Train.%s.x%03d.y%03d.tif' % (infile.replace('.tif',''), x0, y0))
</code></pre>
<p>在1855幅图像中,成功地按照给定尺寸裁剪图像(大部分图像文件大小为193K,但生成了一些大小为171Kb的图像)</p>
<p>现在我想回滚整个过程,即使用裁剪图像,将所有平铺合并回原始图像。我们发现了一个函数rollback,如下所示</p>
<pre><code>def roll(image, delta):
x0, y0 = img.size
delta = delta % xsize
if delta == 0: return image
part1 = image.crop((0, 0, delta, y0))
part2 = image.crop((delta, 0, x0, y0))
image.paste(part1, (x0-delta, 0, x0, y0))
image.paste(part2, (0, 0, x0-delta, y0))
return image
</code></pre>
<p>它无法捕捉原始尺寸
或者,我们使用ImageMajik程序,并以</p>
<pre><code>montage -mode concatenate -tile 43x85 Train*.tif new_amritsar.tif
</code></pre>
<p>结果,它合并了图像,但没有按实际顺序合并</p>
<p>请告诉我解决办法</p>
<p>问候
亚西尔</p>
<p><a href="https://i.stack.imgur.com/gcM4m.jpg" rel="nofollow noreferrer">list of cropped images </a></p>
<p><a href="https://i.stack.imgur.com/6zvgg.png" rel="nofollow noreferrer">list of cropped images with different size and scale as 10980 x 10980 were not split exactly 256 x 356 </a></p>