利用分块进行网络输入测试
在进行神经网络测试时,可以
- 直接将图像作为输入从而进行测试
- 利用图片分块,然后送进网络进行一个测试后进行合成
对于方法二,我们可以看看以下操作:
进行放大查看我们的merge
后的结果,可以发现,虽然超分结果也是2048*2048pixel
,但是会合并出来的交界处的横线,严重影响评估效果。
图像分块合成的python
代码如下:
import PIL.Image as Image
import os
IMAGES_PATH = r'D:\\result\\X4\\patch\\'
IMAGES_FORMAT = ['.jpg', '.tif']
IMAGE_SIZE = 512
IMAGE_ROW = 4
IMAGE_COLUMN = 4
IMAGE_SAVE_PATH = r'D:\\result\\X4\\merged1.tif'
image_names = [name for name in os.listdir(IMAGES_PATH) for item in IMAGES_FORMAT if
os.path.splitext(name)[1] == item]
print(image_names)
if len(image_names) != IMAGE_ROW * IMAGE_COLUMN:
raise ValueError("合成图片的参数和要求的数量不能匹配!")
def image_compose():
to_image = Image.new('RGB', (IMAGE_COLUMN * IMAGE_SIZE, IMAGE_ROW * IMAGE_SIZE))
i = 1
for x in range(1, IMAGE_COLUMN + 1): # 此处要注意根据自己的分块修改
for y in range(1, IMAGE_ROW + 1):
from_image = Image.open(IMAGES_PATH + str(i) + '.tif').resize(
(IMAGE_SIZE, IMAGE_SIZE), Image.ANTIALIAS)
to_image.paste(from_image, ((x - 1) * IMAGE_SIZE, (y - 1) * IMAGE_SIZE))
i = i + 1
return to_image.save(IMAGE_SAVE_PATH)
image_compose()
作者:Esofar
出处:https://www.cnblogs.com/zgqcn/p/13996405.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步