Використовуйте Python для бінаризації зображень WMZ
Створюйте додатки Python для бінарного переведення зображень і фотографій у WMZ за допомогою серверних API
Як перевести в двійковий формат WMZ зображення та фотографії за допомогою Python
Поява кольорової фотографії ознаменувала кардинальний зсув у фотосфері. Тим не менш, привабливість класичного чорно-білого образу все ще зберігається. Незважаючи на поширеність кольорових камер, багато людей все ще вирішують перетворювати свої фотографії на чорно-білі. Це перетворення зазвичай досягається через процес бінаризації, замінюючи кожен піксель двійковим значенням: «0» для білого і «1» для чорного. Чорно-білі зображення часто використовуються не лише для художніх цілей, але знаходять практичне застосування в таких сценаріях, як друк ілюстрацій у таких виданнях, як книги та газети. У графічній бібліотеці Python ви можете встановити порогове значення яскравості пікселів. Пікселі нижче цього порогу приймають чорний колір, тоді як пікселі вище приймають білий колір. Також доступна техніка адаптивної бінаризації, яка враховує навколишні значення пікселів для створення плавних переходів між межами кольорів у результуючому чорно-білому зображенні. Для бінаризації файлів WMZ ми будемо використовувати Aspose.Imaging for Python via .NET API, який є багатофункціональним, потужним і простим у використанні API для обробки зображень і перетворення для платформи Python. Ви можете встановити його за допомогою наступної команди вашої системної консолi.
Системна консоль
>> pip install aspose-imaging-python-net
Кроки для бінаризації WMZ через Python
Вам потрібен aspose-imaging-python-net , щоб спробувати наступний робочий процес у вашому власному середовищі.
- Завантажувати файли WMZ за допомогою методу Image.Load
- Бінаризувати зображення;
- Збережіть стиснене зображення на диск у форматі, який підтримує Aspose.Imaging
Системні вимоги
Aspose.Imaging для Python підтримується в усіх основних операційних системах. Просто переконайтеся, що у вас є такі передумови.
- Microsoft Windows / Linux з .NET Core Runtime. — Менеджер пакетів Python і PyPi.
Бінаризувати зображення WMZ - Python
from aspose.imaging import * | |
from aspose.imaging.fileformats.bmp import * | |
from aspose.imaging.fileformats.dicom import * | |
from aspose.imaging.fileformats.emf import * | |
from aspose.imaging.fileformats.jpeg import * | |
from aspose.imaging.fileformats.jpeg2000 import * | |
from aspose.imaging.fileformats.png import * | |
from aspose.imaging.fileformats.psd import * | |
from aspose.imaging.fileformats.tiff.enums import * | |
from aspose.imaging.imagefilters.filteroptions import * | |
from aspose.imaging.imageoptions import * | |
from aspose.imaging.masking import * | |
from aspose.imaging.masking.options import * | |
from aspose.imaging.masking.result import * | |
from aspose.imaging.sources import * | |
from aspose.pycore import as_of, is_assignable | |
import os | |
if 'TEMPLATE_DIR' in os.environ: | |
templates_folder = os.environ['TEMPLATE_DIR'] | |
else: | |
templates_folder = r"C:\Users\USER\Downloads\templates" | |
delete_output = 'SAVE_OUTPUT' not in os.environ | |
def binarize_otsu(): | |
filter_images(lambda image: image.binarize_otsu(), "binarizeotsu") | |
def binarize_bradley(): | |
filter_images(lambda image: image.binarize_bradley(0.5), "binarizebradley") | |
def binarize_fixed(): | |
filter_images(lambda image: image.binarize_fixed(70), "binarizefixed") | |
def filter_images(do_filter, filter_name): | |
obj_init = [] | |
obj_init.append("jpg") | |
obj_init.append("png") | |
obj_init.append("bmp") | |
obj_init.append("apng") | |
obj_init.append("dicom") | |
obj_init.append("jp2") | |
obj_init.append("j2k") | |
obj_init.append("tga") | |
obj_init.append("webp") | |
obj_init.append("tif") | |
obj_init.append("gif") | |
obj_init.append("ico") | |
raster_formats = obj_init | |
obj_init2 = [] | |
obj_init2.append("svg") | |
obj_init2.append("otg") | |
obj_init2.append("odg") | |
obj_init2.append("eps") | |
obj_init2.append("wmf") | |
obj_init2.append("emf") | |
obj_init2.append("wmz") | |
obj_init2.append("emz") | |
obj_init2.append("cmx") | |
obj_init2.append("cdr") | |
vector_formats = obj_init2 | |
all_formats = [] | |
all_formats.extend(raster_formats) | |
all_formats.extend(vector_formats) | |
for format_ext in all_formats: | |
input_file = os.path.join(templates_folder, f"template.{format_ext}") | |
if not os.path.exists(input_file): | |
continue | |
is_vector_format = format_ext in vector_formats | |
if is_vector_format: | |
input_file = rasterize_vector_image(format_ext, input_file) | |
output_file = os.path.join(templates_folder, f"{filter_name}_{format_ext}.png") | |
print(format_ext) | |
# explicit type casting from Image to RasterImage | |
with as_of(Image.load(input_file), RasterImage) as image: | |
do_filter(image) | |
multi_page = None | |
# if image implements an IMultipageImage interface | |
if is_assignable(image, IMultipageImage): | |
multi_page = as_of(image, IMultipageImage) | |
if multi_page is not None and multi_page.page_count > 1: | |
# for loop | |
for_first_step = True | |
page_index = 0 | |
for page in multi_page.pages: | |
file_name = f"{filter_name}_page{page_index}_{format_ext}.png" | |
page.save(templates_folder + file_name, PngOptions()) | |
os.remove(templates_folder + file_name) | |
page_index += 1 | |
else: | |
image.save(output_file, PngOptions()) | |
delete_file(output_file) | |
if is_vector_format: | |
delete_file(input_file) | |
def rasterize_vector_image(format_ext, input_file): | |
output_file = os.path.join(templates_folder, f"rasterized.{format_ext}.png") | |
with Image.load(input_file) as image: | |
image.save(output_file, PngOptions()) | |
return output_file | |
def delete_file(file): | |
if delete_output: | |
os.remove(file) | |
# Run filters | |
binarize_fixed() | |
# binarize_bradley() | |
# binarize_otsu() |
Про API Aspose.Imaging для Python
API Aspose.Imaging — це рішення для обробки зображень для створення, модифікації, малювання або конвертації зображень (фотографій) у програмах. Він пропонує: кросплатформну обробку зображень, включаючи, але не обмежуючись, перетворення між різними форматами зображень (включно з уніфікованою обробкою багатосторінкових або багатокадрових зображень), такі модифікації, як малювання, робота з графічними примітивами, перетворення (зміна розміру, обрізання, перевертання та обертання). , бінаризація, відтінки сірого, коригування), розширені функції обробки зображення (фільтрування, згладжування, маскування, виправлення) і стратегії оптимізації пам’яті. Це окрема бібліотека, яка не залежить від програмного забезпечення для роботи із зображеннями. Можна легко додати високоефективні функції перетворення зображень за допомогою власних API у проекти. Це 100% приватні локальні API, а зображення обробляються на ваших серверах.Бінаризуйте WMZ через онлайн-додаток
Бінаризуйте WMZ зображення, відвідавши наш веб-сайт Live Demos . Жива демонстрація має такі переваги
WMZ Що таке WMZ формат
WMZ — це розширення файлу для формату файлу оболонки, який/для/використовується медіапрогравачем Windows. WMZ-файл – це в основному заархівований файл WMF у форматі XML.
ДетальнішеІнші підтримувані формати для бінаризації
Використовуючи Python, можна легко Бінаризувати різні формати.