7
.pdf
# Ограничение и денормировка
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
