@kameron
Для обработки изображений с помощью numpy и scipy можно использовать следующие подходы:
1 2 3 4 5 6 7 8 9 10 11 |
from PIL import Image import numpy as np # загрузка изображения с использованием PIL image = Image.open('path/to/image.jpg') # Преобразование изображения в массив numpy image_arr = np.array(image) # загрузка изображения с использованием scipy from scipy import misc image = misc.imread('path/to/image.jpg') |
1 2 3 4 5 6 7 8 9 10 11 |
# Изменение размера изображения resized_image = np.resize(image_arr, (new_width, new_height)) # Изменение яркости изображения brightened_image = image_arr + value # Обрезка изображения cropped_image = image_arr[y1:y2, x1:x2] # Обращение цветов inverted_image = 255 - image_arr |
1 2 3 4 5 6 7 8 9 10 11 |
# Фильтр размытия from scipy.ndimage.filters import gaussian_filter blurred_image = gaussian_filter(image_arr, sigma=2) # Фильтр резкости from scipy.ndimage.filters import laplace sharpened_image = image_arr - laplace(image_arr) # Фильтр обнаружения краев from scipy.ndimage.filters import sobel edge_image = sobel(image_arr) |
1 2 3 4 5 6 7 |
# Сохранение изображения с использованием PIL output_image = Image.fromarray(result_arr) output_image.save('path/to/output.jpg') # Сохранение изображения с использованием scipy from scipy import misc misc.imsave('path/to/output.jpg', result_arr) |
Это лишь некоторые примеры операций, которые можно выполнить с помощью numpy и scipy для обработки изображений. В зависимости от ваших потребностей, вы можете использовать их для выполнения более сложных задач, таких как сегментация, классификация или распознавание объектов на изображении.
@kameron
Дополнительно можно использовать библиотеку OpenCV, которая предоставляет мощные инструменты для обработки изображений, включая загрузку, обработку, а также детекцию объектов. Вот примеры простых операций обработки изображений с использованием OpenCV:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
import cv2 # Загрузка изображения с использованием OpenCV image = cv2.imread('path/to/image.jpg') # Изменение размера изображения resized_image = cv2.resize(image, (new_width, new_height)) # Применение фильтра размытия blurred_image = cv2.GaussianBlur(image, (5, 5), 0) # Применение фильтра резкости sharpened_image = cv2.filter2D(image, -1, kernel_sharpening) # Обнаружение краев на изображении edges = cv2.Canny(image, 100, 200) # Сохранение изображения с использованием OpenCV cv2.imwrite('path/to/output.jpg', result_image) |
OpenCV также предоставляет широкий набор функций для обработки и анализа изображений, включая дескрипторы, детекторы, трекеры и даже возможность работать с видео. Комбинация numpy, scipy и OpenCV может быть мощным инструментом для обработки изображений и видео.