In [ ]:
Pkg.add(["TestImages"])
In [ ]:
using Images
using TestImages
In [ ]:
# Загрузка тестового изображения
img = float.(testimage("cameraman"))
# поверните изображение на 4 градуса
img_r = imrotate(img, -pi/45, axes(img))
Out[0]:
使用 mosaicview 函数可以显示多幅图像。当图像大小和颜色不同时,这种方法尤其有用。
In [ ]:
mosaicview(img, img_r; nrow=1, npad=20, fillvalue=colorant"white")
Out[0]:
在某些情况下,如果两幅图像之间的差异相对较小,简单的视觉比较可能无法获得理想的结果。
在这种情况下,灰度图像可以填充不同的 RGB 通道,创建 RGB 表示法,然后转换成灰度图像。
In [ ]:
RGB_diffview = colorview(RGB, channelview(img), channelview(img_r), fill(0., size(img)))
Gray_diffview = Gray.(RGB_diffview)
Out[0]:
此外,还可以通过计算差值来比较两幅图像。
In [ ]:
plain_diffview = @. img - img_r
Out[0]:
In [ ]:
mosaicview(plain_diffview, RGB_diffview;
nrow=1, npad=20, fillvalue=colorant"white")
Out[0]:
结论¶
我们探索了几种通过代数运算和可视化比较进行可视化比较的方法。上图显示了这些比较在单个输出图像中的效果。