查看图像的差异
本演示展示了通过叠加查看差异来比较图像的常见示例。
在这里,imshowpair函数用于旋转图像。
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]:
结论
我们研究了几种视觉比较的方法,无论是通过代数运算还是通过视觉比较。 上图显示了这些比较在单个输出图像中的样子。




