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[исходный код]
Генерация ядра размытия в движении.