blinddeconv.filters package
Submodules
- blinddeconv.filters.base module
- blinddeconv.filters.blur module
- blinddeconv.filters.colored_noise module
- blinddeconv.filters.denoise module
- blinddeconv.filters.distributions module
- blinddeconv.filters.noise module
- blinddeconv.filters.smooth module
Module contents
Пакет фильтров для генерации искажений изображений.
- Модули:
base: Базовый класс FilterBase blur: Фильтры размытия (Defocus, Motion blur) noise: Фильтры шума (Gaussian, Poisson, Salt & Pepper) denoise: Методы уменьшения шума smooth: Сглаживающие фильтры distributions: Функции распределения для ядер colored_noise: Генераторы цветного шума
Авторы: Юров П.И., Беззаборов А.А.
- class blinddeconv.filters.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.BilateralFilter(params: int | Tuple[int, float, float])[исходный код]
Базовые классы:
FilterBaseБилатеральный фильтр (с сохранением границ).
Атрибуты
- dint
Диаметр окрестности пикселя.
- sigma_colorfloat
Сигма фильтр в цветовом пространстве.
- sigma_spacefloat
Сигма фильтр в координатном пространстве.
- __init__(params: int | Tuple[int, float, float])[исходный код]
Инициализация билатерального фильтра.
Параметры
- paramsUnion[int, Tuple[int, float, float]]
d или (d, sigma_color, sigma_space).
- description() str[исходный код]
Выдает название смаза с параметром.
- filter(img: ndarray) ndarray[исходный код]
Применение билатерального фильтра к изображению.
- class blinddeconv.filters.Brown_Noise(noise_level: float = 0.2)[исходный код]
Базовые классы:
FilterBaseКоричневый шум (1/f)^2.
Атрибуты
- noise_levelfloat
Уровень шума (0.0 - без шума, 1.0 - сильный шум).
- __init__(noise_level: float = 0.2) None[исходный код]
Инициализация.
Параметры
- noise_levelfloat
Уровень шума (0.0 - без шума, 1.0 - сильный шум).
- description() str[исходный код]
Выдает название шума в файловой системе с параметром.
- filter(img)[исходный код]
Применяет коричневый шум к изображению.
- class blinddeconv.filters.ColoredNoise(noise_level: float = 0.2, beta: float = 1.0)[исходный код]
Базовые классы:
FilterBaseЦветной шум (1/f)^beta.
Атрибуты
- noise_levelfloat
Уровень шума (0.0 - без шума, 1.0 - сильный шум).
- betafloat
Параметр спектрального наклона (1.0 = розовый шум, 2.0 = коричневый).
- __init__(noise_level: float = 0.2, beta: float = 1.0) None[исходный код]
Инициализация.
Параметры
- noise_levelfloat
Уровень шума (0.0 - без шума, 1.0 - сильный шум).
- betafloat
Параметр спектрального наклона (1.0 = розовый, 2.0 = коричневый).
- description() str[исходный код]
Выдает название шума в файловой системе с параметром.
- filter(img)[исходный код]
Применяет цветной шум к изображению.
- class blinddeconv.filters.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.FilterBase(param: Any, type: str)[исходный код]
Базовые классы:
ABCАбстрактный базовый класс для фильтров изображений.
Атрибуты
- paramAny
Параметры фильтра.
- typestr
Тип фильтра (blur, noise, denoise и т.п.).
- __init__(param: Any, type: str) None[исходный код]
Инициализация фильтра.
Параметры
- paramAny
Параметры фильтра.
- typestr
Тип фильтра (например, blur, noise и т.п.).
- abstract description() str[исходный код]
Возвращает зашифрованное название фильтра и его параметры.
- abstract filter(image: ndarray) ndarray[исходный код]
Применение фильтра к изображению.
Параметры
- imagenp.ndarray
Входное изображение в формате numpy массива.
Возвращает
- np.ndarray
Отфильтрованное изображение.
- get_type() str[исходный код]
Возвращает тип фильтра.
- param = None
- class blinddeconv.filters.GaussianBlur(params: int | Tuple[int, float])[исходный код]
Базовые классы:
FilterBaseГауссовский фильтр размытия.
Атрибуты
- kernel_sizeint
Размер гауссовского ядра (должен быть нечетным и положительным).
- stdfloat
Стандартное отклонение (0 для автоматического расчета).
- __init__(params: int | Tuple[int, float]) None[исходный код]
Инициализация гауссовского фильтра.
Параметры
- paramsUnion[int, Tuple[int, float]]
kernel_size или (kernel_size, std).
- description() str[исходный код]
Выдает название смаза с параметром.
- filter(img: ndarray) ndarray[исходный код]
Применить гауссовское размытие к изображению.
- class blinddeconv.filters.GaussianNoise(param: float)[исходный код]
Базовые классы:
FilterBaseФильтр аддитивного гауссовского шума.
Добавляет нормально распределенный шум с заданным стандартным отклонением.
Атрибуты
- paramfloat
Стандартное отклонение гауссовского шума.
- __init__(param: float) None[исходный код]
Инициализация фильтра гауссовского шума.
Параметры
- paramfloat
Стандартное отклонение шума (должно быть положительным).
- description() str[исходный код]
Выдает название шума в файловой системе с параметром.
- class blinddeconv.filters.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.MeanBlur(kernel_size: int)[исходный код]
Базовые классы:
FilterBaseУсредняющий (боксовый) фильтр размытия.
Атрибуты
- kernel_sizeint
Размер усредняющего ядра (должен быть нечетным и положительным).
- __init__(kernel_size: int) None[исходный код]
Инициализация усредняющего фильтра.
Параметры
- kernel_sizeint
Размер усредняющего ядра (должен быть нечетным и положительным).
- description() str[исходный код]
Выдает название смаза с параметром.
- class blinddeconv.filters.MedianBlur(kernel_size: int)[исходный код]
Базовые классы:
FilterBaseМедианный фильтр (эффективен против шума «соль-перец»).
Атрибуты
- kernel_sizeint
Размер медианного ядра (должен быть нечетным и >=3).
- __init__(kernel_size: int) None[исходный код]
Инициализация медианного фильтра.
Параметры
- kernel_sizeint
Размер медианного ядра (должен быть нечетным и >=3).
- description() str[исходный код]
Выдает название смаза с параметром.
- filter(image: ndarray) ndarray[исходный код]
Применить медианное размытие к изображению.
- class blinddeconv.filters.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[исходный код]
Генерация ядра размытия в движении.
- class blinddeconv.filters.OldPhotoNoise(strength: int = 30, f3dB: float = 0.05, fs: float = 1.0, apply_highpass: bool = True, highpass_cutoff: float = 0.01)[исходный код]
Базовые классы:
FilterBaseКоричневый шум для имитации старых фотографий.
Атрибуты
- strengthint
Сила шума (0-255).
- f3dBfloat
Частота среза экспоненциального фильтра (0-0.5).
- fsfloat
Псевдо-частота дискретизации.
- apply_highpassbool
Применять ли high-pass фильтр.
- highpass_cutofffloat
Cutoff частота для high-pass фильтра.
- __init__(strength: int = 30, f3dB: float = 0.05, fs: float = 1.0, apply_highpass: bool = True, highpass_cutoff: float = 0.01) None[исходный код]
Инициализация.
Параметры
- strengthint
Сила шума (0-255).
- f3dBfloat
Частота среза экспоненциального фильтра (0-0.5).
- fsfloat
Псевдо-частота дискретизации.
- apply_highpassbool
Применять ли high-pass фильтр.
- highpass_cutofffloat
Cutoff частота для high-pass фильтра.
- description() str[исходный код]
Выдает название шума в файловой системе с параметром.
- filter(img)[исходный код]
Применяет 2D Brownian шум к изображению.
- find_alpha(Fs: float, f3dB: float) float[исходный код]
Вычислить альфу для экспоненциального фильтра.
- class blinddeconv.filters.Pink_Noise(noise_level: float = 0.2)[исходный код]
Базовые классы:
FilterBaseРозовый шум (1/f).
Атрибуты
- noise_levelfloat
Уровень шума (0.0 - без шума, 1.0 - сильный шум).
- __init__(noise_level: float = 0.2) None[исходный код]
Инициализация.
Параметры
- noise_levelfloat
Уровень шума (0.0 - без шума, 1.0 - сильный шум).
- description() str[исходный код]
Выдает название шума в файловой системе с параметром.
- filter(img)[исходный код]
Применяет розовый шум к изображению.
- class blinddeconv.filters.PoissonNoise(param: float)[исходный код]
Базовые классы:
FilterBaseФильтр пуассоновского шума (шума дробления).
Имитирует шум подсчета фотонов с пуассоновской статистикой.
Атрибуты
- paramfloat
Интенсивность шума (от 0.0 до 1.0).
- __init__(param: float) None[исходный код]
Инициализация фильтра пуассоновского шума.
Параметры
- paramfloat
Интенсивность шума (от 0.0 до 1.0).
- description() str[исходный код]
Выдает название шума в файловой системе с параметром.
- class blinddeconv.filters.SaltAndPepperNoise(param: Tuple[float, float, float])[исходный код]
Базовые классы:
FilterBaseФильтр импульсного шума (типа «соль-перец»).
Добавляет случайные белые (соль) и черные (перец) пиксели к изображению.
Атрибуты
- white_pixelfloat
Относительная интенсивность белых пикселей (соль).
- black_pixelfloat
Относительная интенсивность черных пикселей (перец).
- noise_amountint
Максимальное количество зашумляемых пикселей.
- __init__(param: Tuple[float, float, float]) None[исходный код]
Инициализация фильтра шума «соль-перец».
Параметры
- paramTuple[float, float, float]
Кортеж, содержащий: - white_pixel: Относительное количество белых пикселей (>=0). - black_pixel: Относительное количество черных пикселей (>=0). - noise_amount: Максимальное число изменяемых пикселей (>=0).
- description() str[исходный код]
Выдает название шума в файловой системе с параметром.