Квантование
Использование
Массивы, изображения в оттенках серого и RGB-изображения
Для массивов, изображений в оттенках серого (Array{<:Gray}
) и RGB-изображений (Array{<:RGB}
) доступен следующий метод.
quantization(X, levels; minv=0, maxv=1)
Мы округляем интенсивность значений массива до разных уровней значений levels
. minv
и maxv
указывают минимальное и максимальное значения интервала дискретизации. Для типов данных Normed
, таких как Normed{UInt8, 8}
, нельзя выбирать значения больше 1 и меньше 0.
Примеры
Изображения
Вот несколько примеров с изображениями.
using Noise, TestImages, Images
img_gray = testimage("fabio_gray_256")
img_color = testimage("fabio_color_256")
img_gray_noise = quantization(img_gray, 20)
img_gray_noise_heavy= quantization(img_gray, 5)
img_color_noise = quantization(img_color, 10)
Изображения расположены в том же порядке, что и команды. Левое изображение имеет 20 разных уровней значений. Среднее изображение имеет только 5 уровней. Правое изображение имеет 20 разных уровней значений для каждого цветового канала.
Серое изображение с 20-ю уровнями | Серое изображение с 5-ю уровнями | RGB-изображение с 20-ю цветовыми уровнями для каждого канала |
---|---|---|
Одномерные массивы
Вот несколько примеров с одномерными массивами.
using Noise, Plots
x = LinRange(0.0, 10.0, 300)
y = sin.(x)
y_noise = quantization(y, 20, minv=-1, maxv=1)
y_noise_2 = quantization(y, 5, minv=-1, maxv=1)
plot(x,y);
plot!(x, y_noise);
plot!(x, y_noise_2);
qt.qpa.xcb: could not connect to display qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found. This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: linuxfb, minimal, offscreen, vnc, xcb. Aborted connect: Connection refused GKS: can't connect to GKS socket application GKS: Open failed in routine OPEN_WS GKS: GKS not in proper state. GKS must be either in the state WSOP or WSAC in routine ACTIVATE_WS
Зеленая кривая состоит из 5 различных уровней, оранжевая — из 20. Как видно, уже 20 различных значений сэмплируют исходный сигнал достаточно хорошо.