Документация Engee

Представление различий между изображениями

В этой демонстрации показаны некоторые общие приемы сравнения изображений — представление различий.

Людям с опытом работы с 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")
dmhafoe

В некоторых случаях, когда различия между двумя изображениями относительно незначительны, усилить их можно простым вычитанием.

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")
lxatobd

Эта страница была создана с помощью DemoCards.jl и Literate.jl.