UImage: поиск границ объектов на изображении
Выделить границы объектов на изображении позволяет статический метод find_edges() из класса UImageChange. Формат метода:
UImageChange.find_edges(<UImage>, smooth=False)
В качестве первого параметра указывается объект UImage. Если во втором параметре указано значение True, то перед выполнением операции будет выполнено сглаживание изображения. Перед поиском границ изображение преобразуется в оттенки серого. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки Pillow. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.find_edges(img, smooth=False)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Выделить границы объектов на изображении можно также с помощью статического метода edge_im() из класса UImageChange. Формат метода:
UImageChange.edge_im(<UImage>)
В качестве параметра указывается объект UImage. Перед поиском границ производится удаление прозрачности, путем наложения на непрозрачную белую основу, а затем преобразование в оттенки серого. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.edge_im(img)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Выделить границы объектов на изображении можно также с помощью статического метода canny_im() из класса UImageChange. Формат метода:
UImageChange.canny_im(<UImage>)
В качестве параметра указывается объект UImage. Перед поиском границ производится удаление прозрачности, путем наложения на непрозрачную белую основу. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки ImageMagick. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.canny_im(img)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Обвести контуры объектов на изображении позволяет статический метод contour() из класса UImageChange. Формат метода:
UImageChange.contour(<UImage>, smooth=False)
В качестве первого параметра указывается объект UImage. Если во втором параметре указано значение True, то перед выполнением операции будет выполнено сглаживание изображения. Перед поиском границ изображение преобразуется в оттенки серого. Метод возвращает объект UImage или значение None в случае ошибки. Операция выполняется с помощью библиотеки Pillow. Пример:
from unicross_image.uimage import UImage
from unicross_image.uimagechange import UImageChange
img = UImage.load("foto.png")
img2 = UImageChange.contour(img)
if img2:
print(img2)
img2.save("test.png")
else:
print("Ошибка при выполнении операции")
Класс входит в состав графической библиотеки UImage для Python 3. Описание библиотеки UImage