استخدم Python لضبط الصور DJVU.
قم بإنشاء تطبيقات Python لضبط الصور والصور DJVU عبر واجهات برمجة تطبيقات الخادم
كيفية ضبط الصور والصور DJVU باستخدام Python
أثناء التقاط الصور، يمكن أن تحدث أخطاء بسبب إعدادات الكاميرا غير الصحيحة. يمكن أن تؤثر الإضاءة غير المتحكم فيها أيضًا على النتائج، وحتى الصور الفوتوغرافية الاحترافية قد تظهر عليها عيوب. ومع ذلك، في مثل هذه السيناريوهات، هناك طريقة لتحسين الصورة من خلال استخدام الأدوات البرمجية التي توفرها مكتبة Python. لديك القدرة على ضبط سطوع الصورة وتباينها وتوازن الألوان. على سبيل المثال، إذا ظهرت الصورة معتمة للغاية، فإن زيادة السطوع ستؤدي إلى إضاءة المناطق الأكثر قتامة، وكشف التفاصيل التي كانت محجوبة في الظل في السابق. إذا كانت صورتك تظهر تغيرات لونية غير مرغوب فيها بسبب الإضاءة الاصطناعية، فيمكنك تصحيح ذلك باستخدام ميزة ضبط جاما اللون. لتنفيذ هذه التعديلات على ملفات DJVU، يمكنك الاستفادة من Aspose.Imaging for Python via .NET API وهي واجهة برمجة تطبيقات غنية بالميزات وقوية وسهلة الاستخدام لمعالجة الصور وتحويلها لمنصة Python. يمكنك تثبيته باستخدام الأمر التالي من أمر النظام الخاص بك.
سطر أوامر النظام
>> pip install aspose-imaging-python-net
خطوات لضبط DJVU s عبر Python
أنت بحاجة إلى aspose-imaging-python-net لتجربة سير العمل التالي في بيئتك الخاصة.
- تحميل ملفات DJVU بطريقة Image.Load
- ضبط الصور.
- حفظ الصورة المضغوطة على القرص بتنسيق Aspose.Imaging المدعوم
متطلبات النظام
Aspose.Imaging for Python مدعوم على جميع أنظمة التشغيل الرئيسية. فقط تأكد من أن لديك المتطلبات الأساسية التالية.
- Microsoft Windows / Linux مع .NET Core Runtime.
- مدير حزم Python و PyPi.
ضبط صور DJVU - 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 adjust_gamma_rgb(): | |
# https://apireference.aspose.com/imaging/python-net/aspose.imaging.rasterimage/adjustgamma | |
filter_images(lambda image: image.adjust_gamma(5, 0.1, 0.1), "adjustgammargb") | |
def adjust_gamma(): | |
filter_images(lambda image: image.adjust_gamma(3), "adjustgamma") | |
def adjust_contrast(): | |
filter_images(lambda image: image.adjust_contrast(50), "adjustcontrast") | |
def adjust_brightness(): | |
filter_images(lambda image: image.adjust_brightness(100), "adjustbrightness") | |
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 | |
page_index = 0 | |
for page in multi_page.pages: | |
file_name = f"{filter_name}_page{page_index}_{format_ext}.png" | |
page.save(os.path.join(templates_folder + file_name), PngOptions()) | |
# delete an output file | |
delete_file(os.path.join(templates_folder + file_name)) | |
page_index += 1 | |
else: | |
image.save(output_file, PngOptions()) | |
# delete an output file | |
delete_file(output_file) | |
# delete a rasterized file | |
if is_vector_format: | |
delete_file(input_file) | |
def delete_file(file): | |
if delete_output: | |
os.remove(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 | |
# call one of the functions | |
adjust_brightness() | |
#adjust_contrast() | |
#adjust_gamma() | |
#adjust_gamma_rgb() |
حول Aspose.Imaging Python API
Aspose.Imaging API هو حل لمعالجة الصور لإنشاء أو تعديل أو رسم أو تحويل الصور (الصور) داخل التطبيقات. يوفر: معالجة الصور عبر الأنظمة الأساسية ، بما في ذلك على سبيل المثال لا الحصر ، التحويلات بين تنسيقات الصور المختلفة (بما في ذلك معالجة الصور متعددة الصفحات أو متعددة الإطارات) ، والتعديلات مثل الرسم ، والعمل مع الرسوم الأولية ، والتحويلات (تغيير الحجم ، والقص ، والوجه والتدوير ، وثنائي ، وتدرج رمادي ، وضبط) ، وميزات معالجة الصور المتقدمة (الترشيح ، والتردد ، والإخفاء ، والتكديس) ، واستراتيجيات تحسين الذاكرة. إنها مكتبة قائمة بذاتها ولا تعتمد على أي برنامج لعمليات الصور. يمكن للمرء بسهولة إضافة ميزات تحويل الصور عالية الأداء باستخدام واجهات برمجة التطبيقات الأصلية داخل المشاريع. هذه واجهات برمجة تطبيقات داخلية خاصة بنسبة 100٪ وتتم معالجة الصور على خوادمك.اضبط DJVU عبر تطبيق عبر الإنترنت
اضبط مستندات DJVU من خلال زيارة [Live Demos website] ( https://products.aspose.app/imaging/image-Adjust) . يحتوي العرض التوضيحي المباشر على الفوائد التالية
DJVU ما هو DJVU تنسيق الملف
يُنطق DjVu باسم DJVU ، وهو تنسيق ملف رسومي مخصص للوثائق والكتب الممسوحة ضوئيًا وخاصة تلك التي تحتوي على مزيج من النصوص والرسومات والصور والصور الفوتوغرافية. تم تطويره بواسطة AT&T Labs. يستخدم تقنيات متعددة مثل فصل طبقة الصور للنص وصور الخلفية ، والتحميل التدريجي ، والتشفير الحسابي والضغط المفقود للصور البتونية. نظرًا لأن ملف DJVU يمكن أن يحتوي على صور ملونة وصور فوتوغرافية ونصوص ورسومات مضغوطة وعالية الجودة ويمكن حفظها في مساحة أقل ، يتم استخدامه على الويب ككتب إلكترونية وكتيبات وصحف ومستندات قديمة وما إلى ذلك.
اقرأ أكثرتنسيقات الضبط الأخرى المدعومة
باستخدام Python ، يمكن بسهولة ضبط التنسيقات المختلفة بما في ذلك.