blinddeconv.filters.blur module

Фильтры размытия изображений.

Автор: Беззаборов А.А., Юров П.И.

class blinddeconv.filters.blur.BSpline_blur(shape_points: ndarray, intensity_points: ndarray, output_size: Tuple[int, int] = (15, 15), shape_degree: int = 3, intensity_degree: int = 2, n_samples: int = 1000)[исходный код]

Базовые классы: FilterBase

Фильтр размытия в движении, имитирующий криволинейное неравномерное движение.

Создает 2D B-spline для моделирования сложных траекторий.

Атрибуты

shape_pointsnp.ndarray

Точки, задающие форму B-spline.

intensity_pointsnp.ndarray

Точки, задающие интенсивность.

output_sizeTuple[int, int]

Размер выходной матрицы PSF.

shape_degreeint

Степень B-spline для формы.

intensity_degreeint

Степень B-spline для интенсивности.

n_samplesint

Количество точек для дискретизации кривой.

__init__(shape_points: ndarray, intensity_points: ndarray, output_size: Tuple[int, int] = (15, 15), shape_degree: int = 3, intensity_degree: int = 2, n_samples: int = 1000)[исходный код]

Инициализация фильтра криволинейного движения.

Параметры

shape_pointsnp.ndarray

Точки, задающие форму кривой [x, y].

intensity_pointsnp.ndarray

Точки, задающие интенсивность вдоль кривой.

output_sizeTuple[int, int]

(width, height) Размер выходной матрицы PSF.

shape_degreeint

Степень B-spline для формы.

intensity_degreeint

Степень B-spline для интенсивности.

n_samplesint

Количество точек для дискретизации кривой.

create_dual_bspline_psf() ndarray[исходный код]

Создает PSF используя два B-spline: для формы и для интенсивности.

description() str[исходный код]

Возвращает название способа смаза в файловой системе.

filter(image: ndarray) ndarray[исходный код]

Применение размытия к изображению.

class blinddeconv.filters.blur.DefocusBlur(psf: Callable[[ndarray, float], ndarray], param: float = 5.0, kernel_size: int | None = None)[исходный код]

Базовые классы: FilterBase

Фильтр размытия вне фокуса, имитирующий эффект расфокусировки камеры.

Создает 2D размытие в форме колокола с использованием настраиваемой PSF-функции.

Атрибуты

psfCallable

Функция распределения точки (PSF), генерирующая ядро размытия.

paramfloat

Параметр интенсивности размытия.

kernel_sizeOptional[int]

Фиксированный размер ядра размытия (None для автоопределения).

__init__(psf: Callable[[ndarray, float], ndarray], param: float = 5.0, kernel_size: int | None = None) None[исходный код]

Инициализация фильтра размытия вне фокуса.

Параметры

psfCallable

Функция, принимающая (radius, param) и возвращающая значения ядра.

paramfloat

Параметр контроля интенсивности размытия.

kernel_sizeOptional[int]

Опциональный фиксированный размер ядра (должен быть нечетным).

description() str[исходный код]

Возвращает название способа смаза и его параметры в файловой системе.

filter(image: ndarray) ndarray[исходный код]

Применение размытия вне фокуса к изображению.

Параметры

imagenp.ndarray

Входное изображение для размытия.

Возвращает

np.ndarray

Размытое изображение.

generate_kernel() ndarray[исходный код]

Генерация ядра размытия.

class blinddeconv.filters.blur.Identical_kernel[исходный код]

Базовые классы: FilterBase

Фильтр единичной матрицы.

Фильтр, используемый при копировании оригинального изображения в буфер.

__init__() None[исходный код]

Инициализация идентичного фильтра.

description() str[исходный код]

Возвращает название способа смаза в файловой системе.

filter(image: ndarray) ndarray[исходный код]

Применение фильтра к изображению.

class blinddeconv.filters.blur.Kernel_convolution(npy_file_path: str)[исходный код]

Базовые классы: FilterBase

Фильтр, значения матрицы которого сохранены в .npy файле.

Загружает и применяет эту матрицу к изображению.

Атрибуты

npy_file_pathstr

Путь до .npy файла с ядром.

__init__(npy_file_path: str) None[исходный код]

Инициализация сохраненного фильтра.

Параметры

npy_file_pathstr

Путь до .npy файла с ядром.

description() str[исходный код]

Возвращает название способа смаза в файловой системе.

filter(image: ndarray) ndarray[исходный код]

Применение фильтра к изображению.

class blinddeconv.filters.blur.MotionBlur(psf: Callable[[ndarray, float], ndarray], param: float = 1.0, angle: float = 0, kernel_length: int | None = None)[исходный код]

Базовые классы: FilterBase

Фильтр размытия в движении, имитирующий линейное движение камеры.

Создает одномерное направленное размытие, которое можно повернуть на любой угол.

Атрибуты

psfCallable

PSF-функция для одномерного движения.

paramfloat

Параметр контроля длины/интенсивности размытия.

anglefloat

Направление движения в градусах (0 = горизонтальное).

kernel_lengthOptional[int]

Фиксированная длина ядра размытия.

__init__(psf: Callable[[ndarray, float], ndarray], param: float = 1.0, angle: float = 0, kernel_length: int | None = None) None[исходный код]

Инициализация фильтра размытия в движении.

Параметры

psfCallable

Функция (x, param) -> значения ядра, где x - 1D массив координат.

paramfloat

Параметр для PSF-функции.

anglefloat

Угол направления размытия (в градусах).

kernel_lengthOptional[int]

Длина размытия (нечетное число).

description() str[исходный код]

Возвращает название способа смаза и его параметры в файловой системе.

filter(image: ndarray) ndarray[исходный код]

Применение размытия в движении к изображению.

generate_kernel() ndarray[исходный код]

Генерация ядра размытия в движении.