улучшаем качество фото на питоне

from PIL import Image, ImageFilter

# Открываем изображение
image_path = 'фото.jpg'  # ваше изображение
image = Image.open(image_path)

# Применяем фильтр улучшения
enhanced_image = image.filter(ImageFilter.UnsharpMask(radius=2, percent=125, threshold=3))

# Сохраняем улучшенное изображение
enhanced_image.save('фото1.jpg')  # Укажите путь для сохранения



    **


from PIL import Image, ImageFilter

# Открываем изображение
image_path = 'фото.jpg'  # путь к вашему изображению
image = Image.open(image_path)

# Увеличиваем размер изображения на 15%
width, height = image.size
new_size = (int(width * 1.15), int(height * 1.15)) 
resized_image = image.resize(new_size, Image.ANTIALIAS)

# Применяем фильтр резкости
sharpened_image = resized_image.filter(ImageFilter.SHARPEN)

# Сохраняем улучшенное изображение
sharpened_image.save('фото2.jpg')  # путь сохранения обработанного фото




    **


незабудьте установить библиотеку в командном окне
 pip install Pillow


В библиотеке Pillow есть несколько основных фильтров, которые можно использовать для обработки изображений. Вот некоторые из них:

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

blurred_image = image.filter(ImageFilter.BLUR)
ImageFilter.CONTOUR: Создает контурное изображение, подчеркивая края.

contour_image = image.filter(ImageFilter.CONTOUR)
ImageFilter.DETAIL: Увеличивает детали изображения, делая его более четким.

detail_image = image.filter(ImageFilter.DETAIL)
ImageFilter.EDGE_ENHANCE: Улучшает края изображения.

edge_enhanced_image = image.filter(ImageFilter.EDGE_ENHANCE)
ImageFilter.EDGE_ENHANCE_MORE: Более сильное улучшение краев по сравнению с EDGE_ENHANCE.

edge_enhanced_more_image = image.filter(ImageFilter.EDGE_ENHANCE_MORE)
ImageFilter.EMBOSS: Создает эффект рельефа на изображении.

embossed_image = image.filter(ImageFilter.EMBOSS)
ImageFilter.SHARPEN: Увеличивает резкость изображения.

sharpened_image = image.filter(ImageFilter.SHARPEN)
ImageFilter.UnsharpMask: Применяет метод "нечеткой маски" для повышения резкости.

unsharp_image = image.filter(ImageFilter.UnsharpMask(radius=2, percent=150, threshold=3))
ImageFilter.SMOOTH: Уменьшает шум и делает изображение более гладким.

smooth_image = image.filter(ImageFilter.SMOOTH)
ImageFilter.SMOOTH_MORE: Более сильное сглаживание по сравнению с SMOOTH.

smooth_more_image = image.filter(ImageFilter.SMOOTH_MORE)
Эти фильтры можно комбинировать и настраивать для достижения желаемого эффекта. Просто помните, что каждый фильтр может по-разному влиять на изображение, поэтому стоит экспериментировать




Для улучшения фотографий с помощью нейросетей, особенно с использованием алгоритмов суперразрешения, библиотеки TensorFlow и OpenCV действительно являются отличным выбором.

Вот краткий обзор того, как можно реализовать суперразрешение на Python с использованием этих библиотек:

Установка необходимых библиотек:
Убедитесь, что у вас установлены TensorFlow и OpenCV.


pip install tensorflow opencv-python

Загрузка модели суперразрешения:
Вы можете использовать предобученные модели, такие как EDSR (Enhanced Deep Residual Networks) или другие, доступные в TensorFlow Hub.

Чтение и обработка изображения:
Используйте OpenCV для загрузки и обработки изображений.

Применение модели:
Примените модель к изображению для увеличения его разрешения.

Сохранение результата:
Сохраните улучшенное изображение с помощью OpenCV.

Вот пример кода, который демонстрирует этот процесс:




import cv2
import tensorflow as tf

# Загрузка изображения
image = cv2.imread('input_image.jpg')
image = cv2.cvtColor(image, cv2.COLOR_BGR2RGB)

# Преобразование изображения в тензор
image_tensor = tf.convert_to_tensor(image, dtype=tf.float32)
image_tensor = tf.expand_dims(image_tensor, axis=0)  # Добавление размерности для батча

# Загрузка предобученной модели (например, EDSR)
model =
# Применение модели
super_res_image = model(image_tensor)

# Преобразование тензора обратно в изображение
super_res_image = tf.squeeze(super_res_image).numpy()
super_res_image = cv2.cvtColor(super_res_image.astype('uint8'), cv2.COLOR_RGB2BGR)

# Сохранение результата
cv2.imwrite('output_image.jpg', super_res_image)
Найти еще
Этот код является базовым примером. Не забудьте заменить 'path_to_your_super_resolution_model' на путь к вашей модели суперразрешения.

Также стоит отметить, что работа с нейросетями может требовать значительных вычислительных ресурсов, поэтому рекомендуется использовать GPU, если это возможно. Удачи в ваших экспериментах с улучшением фотографий





**



Создание простого скрипта для улучшения качества изображений с использованием библиотеки Python, такой как OpenCV и TensorFlow, может быть отличным способом применить модели супер разрешения. Ниже приведен пример скрипта image_enhancer.py, который использует предварительно обученную модель ESRGAN (Enhanced Super Resolution GAN) для улучшения качества изображения.

Установка необходимых библиотек
Прежде чем запускать скрипт, убедитесь, что у вас установлены необходимые библиотеки. Вы можете установить их с помощью pip:

pip install numpy opencv-python tensorflow
Пример кода для image_enhancer.py
import cv2
import numpy as np
import tensorflow as tf

# Загрузка модели ESRGAN (предполагается, что модель уже загружена)
model = tf.keras.models.load_model('path_to_your_esrgan_model.h5')

def enhance_image(image_path):
    # Чтение изображения
    img = cv2.imread(image_path)
    img = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)

    # Изменение размера изображения для модели
    img_input = cv2.resize(img, (img.shape[1] // 4, img.shape[0] // 4))  # Уменьшаем изображение
    img_input = np.expand_dims(img_input, axis=0) / 255.0  # Нормализация

    # Улучшение изображения
    enhanced_img = model.predict(img_input)
    enhanced_img = np.clip(enhanced_img * 255.0, 0, 255).astype(np.uint8)
    enhanced_img = enhanced_img.squeeze()  # Удаление лишних измерений

    # Изменение размера обратно к оригинальному размеру
    enhanced_img = cv2.resize(enhanced_img, (img.shape[1], img.shape[0]))

    return enhanced_img

def main():
    input_image_path = 'input_image.jpg'  # Укажите путь к вашему изображению
    output_image_path = 'enhanced_image.jpg'

    enhanced_image = enhance_image(input_image_path)

    # Сохранение улучшенного изображения
    cv2.imwrite(output_image_path, cv2.cvtColor(enhanced_image, cv2.COLOR_RGB2BGR))
    print(f"Улучшенное изображение сохранено как {output_image_path}")

if __name__ == '__main__':
    main()
Объяснение кода
Импорт библиотек: Мы используем OpenCV для обработки изображений и TensorFlow для работы с моделью.

Загрузка модели: Необходимо загрузить предварительно обученную модель ESRGAN. Убедитесь, что у вас есть файл модели в формате .h5.

Функция enhance_image: Эта функция читает изображение, изменяет его размер, нормализует и передает в модель для улучшения. Затем она возвращает улучшенное изображение.

Основная функция: Здесь вы можете указать путь к входному изображению и сохранить улучшенное изображение.

Запуск скрипта
Сохраните код в файл image_enhancer.py, замените 'path_to_your_esrgan_model.h5' на путь к вашей модели ESRGAN и 'input_image.jpg' на путь к вашему изображению. Затем запустите скрипт:

python image_enhancer.py
После выполнения скрипта вы получите улучшенное изображение, сохраненное в том же каталоге.


*


также для обработки настроек изображений
можно использовать бесплатную программу  IrfanView


Рецензии