Представление различий между изображениями
В этой демонстрации показаны некоторые общие приемы сравнения изображений — представление различий.
Людям с опытом работы с MATLAB может не хватать функции imshowpair
, но в JuliaImages она не так уж и необходима.
using Images
using TestImages
img = float.(testimage("cameraman"))
# поворачиваем изображение на 4 градуса, оставляя оси неизменными
img_r = imrotate(img, -pi/45, axes(img))
mosaicview
— это удобный инструмент для отображения нескольких изображений, особенно полезный, когда они имеют разные размеры и цвета.
mosaicview(img, img_r; nrow=1, npad=20, fillvalue=colorant"white")
В некоторых случаях, когда различия между двумя изображениями относительно незначительны, усилить их можно простым вычитанием.
plain_diffview = @. img - img_r
Для изображений в оттенках серого есть один трюк: можно загрузить каждое изображение в разные каналы RGB и создать представление RGB:
RGB_diffview = colorview(RGB, channelview(img), channelview(img_r), fill(0., size(img)))
или после этого преобразовать представление RGB обратно в изображение в оттенках серого:
Gray_diffview = Gray.(RGB_diffview)
mosaicview(plain_diffview, RGB_diffview, Gray_diffview;
nrow=1, npad=20, fillvalue=colorant"white")
Эта страница была создана с помощью DemoCards.jl и Literate.jl.