Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

7

.pdf
Скачиваний:
5
Добавлен:
16.05.2025
Размер:
1.33 Mб
Скачать

# Ограничение и денормировка

image_deblur_wiener = np.clip(image_deblur_wiener, 0., 1.) image_deblur_wiener = (image_deblur_wiener * 255.).astype(np.uint8)

# Восстановление изображения методом Люси-Ричардсона its = 6 # Количество итераций

image_deblur_rl = input_image.copy()

for i in range(3):

image_deblur_rl[:, :, i] = restoration.richardson_lucy(blur_image[:, :, i], linear_PSF, num_iter=its)

# Ограничение и денормировка

image_deblur_rl = np.clip(image_deblur_rl, 0., 1.) image_deblur_rl = (image_deblur_rl * 255.).astype(np.uint8)

# Сохранение изображений cv2.imwrite('LR7.6.jpg', image_deblur_wiener) cv2.imwrite('LR7.7.jpg', image_deblur_rl)

# Визуализация оригинального, смазанного и восстановленных изображений plt.figure(figsize=(15, 5))

plt.subplot(1, 3, 1) plt.imshow(cv2.cvtColor(blur_image, cv2.COLOR_BGR2RGB)) plt.title('Смазанное изображение', fontsize=9) plt.axis('off')

plt.subplot(1, 3, 2) plt.imshow(cv2.cvtColor(image_deblur_wiener, cv2.COLOR_BGR2RGB))

plt.title('Восстановленное изображение (Винер, линейная маска)', fontsize=9) plt.axis('off')

plt.subplot(1, 3, 3) plt.imshow(cv2.cvtColor(image_deblur_rl, cv2.COLOR_BGR2RGB))

plt.title('Восстановленное изображение (Люси-Ричардсон, линейная маска)', fontsize=9)

plt.axis('off')

plt.tight_layout() plt.show()

Рисунок 6 - Результат обработки изображения

Вывод В ходе проведённого исследования было установлено, что при

использовании нормальной маски фильтр Винера демонстрирует лучшие результаты восстановления по сравнению с фильтром Люси-Ричардсона.

Однако, при изменении маски на неправильную, алгоритм Люси-Ричардсона показывает более устойчивые результаты: несмотря на наличие размытия, он лучше сохраняет общее содержание изображения. В то же время фильтр Винера способен создавать ощутимые полосы на восстановленном изображении, что свидетельствует о его чувствительности к сильным искажениям. При обработке изображений с неравномерным размазыванием,

где столбец в центре маски представляет собой последовательность линейно возрастающих значений, результаты применения фильтров также демонстрируют различия в их поведении. Фильтр Винера по-прежнему сохраняет большую четкость изображения, эффективно восстанавливая детали даже при сложных условиях искажений. Это позволяет получить более резкие и отчетливые результаты. Напротив, фильтр Люси-Ричардсона не в состоянии поддерживать ту же высокую чёткость и детализацию, что приводит к более размытым изображениями. Эти наблюдения подтверждают,

что несмотря на способность фильтра Люси-Ричардсона справляться с размытием, он уступает фильтру Винера в сохранении остроты. Следует отметить, что результаты обработки могут быть неидеальными и зависят от параметров маски и особенностей исходного изображения

Ссылка на изображения: https://drive.google.com/drive/folders/1- T1Y_1foDcRzw5ROi7un1AuykKyI-kU1?usp=drive_link

Список используемых источников

1. Жаринов О.О. Учебно-методические материалы к выполнению лабораторной работы №7 по дисциплине “Мультимедиа-технологии “. гр. Z0411. ГУАП, 2025. – 21 с. (Интернет-ресурс) // URL: https://pro.guap.ru/inside/student/tasks/bf4b2c1590a3c4b0e1affb64248ec4e5/down load

2. Основы цифровой обработки изображений: учеб. пособие / Жаринов О.О. ГУАП. СПб, 2023. 122 с.

3. Обработка изображений с помощью библиотеки Python Pillow // URL: https://habr.com/ru/articles/681248/

4. Документация skimage.filters (на англ. яз.) // URL: https://scikitimage.org/docs/stable/api/skimage.filters.html

5.Intro to OpenCV for Image Processing with Python // URL: https://qviper.github.io/2022/09/24/intro-to-opencv-for-image-processing-python/

6.2D Convolution (Image Filtering) // URL: https://docs.opencv.org/4.x/d4/d13/tutorial_py_filtering.html

7.OpenCV. Motion Blur in Python // URL: https://www.geeksforgeeks.org/opencv-motion-blur- inpython/?ysclid=m7bpfcphlf778877094

8.How to add motion blur to numpy array URL: https://stackoverflow.com/questions/40305933/how-to-add-motionblur-to-numpy- array

8.How to restore fuzzy license plate -Wiener deconvolution filtering algorithm // URL: https://programmersought.com/article/5388602923/

9.Google Colab // URL: https://colab.research.google.com

Соседние файлы в предмете Мультимедиа технологии