دليل تصحيح المنظور
عند توجيه الكاميرا لأعلى لتصوير مبنى طويل، أو إمالة هاتفك لالتقاط صورة لسبورة بيضاء، فإنك تسبب ظاهرة بصرية تُعرف باسم التشويه المنظوري.
عند توجيه الكاميرا لأعلى لتصوير مبنى طويل، أو إمالة هاتفك لالتقاط صورة لسبورة بيضاء، فإنك تسبب ظاهرة بصرية تُعرف باسم التشويه المنظوري (Keystoning). يحدث هذا التشويه لأن مستوى مستشعر الكاميرا ليس موازياً لسطح الجسم المصور. وبدلاً من الخطوط الرأسية المتوازية، تحصل على خطوط تتقارب نحو نقطة تلاشٍ، مما يجعل الهياكل المستطيلة تبدو كأشكال شبه منحرف.
يتطلب التصحيح اليدوي عادةً برامج سطح مكتب باهظة الثمن وتعديلات يدوية مملة لنقاط التحكم.
ما تحتاجه
لاستخدام هذه الأداة، تحتاج فقط إلى متصفح ويب حديث وملف صورة رقمية يظهر فيه تشويه المنظور. تعمل الأداة مباشرة من خلال واجهة متصفحك، مما يلغي الحاجة إلى تثبيت تطبيقات تصميم جرافيك ثقيلة أو أدوات سطر الأوامر.
يجب أن تكون صورتك المصدر بإحدى صيغ الصور النقطية المدعومة: JPG أو JPEG أو PNG أو WEBP. تخزن هذه الصيغ بيانات الصورة في شبكة بكسل، مما يسمح لخوارزميات التحويل بتعيين الإحداثيات بدقة. بالإضافة إلى ذلك، يجب أن يظل ملفك ضمن حد حجم الملف؛ الملفات التي تزيد عن 20 ميجابايت تتجاوز الحد المدعوم.
بما أن الأداة تعمل باستخدام نموذج يعتمد على WebAssembly في جانب العميل، فإن المتصفح يتولى جميع عمليات المعالجة محلياً — لا حاجة لاتصال بالخادم للسماح للمتصفح بالتواصل مع libvips. لست بحاجة إلى أي معرفة متخصصة بالهندسة الإسقاطية أو تحويلات المصفوفات. تتعامل الأداة مع الحسابات الرياضية المعقدة تلقائياً، ولا تتطلب سوى ملف صورة قياسي لبدء المعالجة.
يدير المتصفح الواجهة ونقل الملفات، بينما يقوم libvips بإعادة تعيين الإحداثيات بعمق.
تصحيح المنظور
قم بتشغيل متصفح الويب المفضل لديك على جهاز الكمبيوتر أو الهاتف المحمول وانتقل إلى واجهة أداة Perspective Fix. تأكد من تحديث متصفحك إلى أحدث إصدار لضمان التوافق الكامل. حدد موقع ملف الصورة على وحدة التخزين المحلية لديك.
انقر بزر الماوس الأيمن على الملف وتحقق من خصائصه للتأكد من حفظه بصيغة مدعومة (JPG أو JPEG أو PNG أو WEBP) وأن حجمه لا يتجاوز حد 20 ميجابايت. انقر على منطقة الرفع لفتح متصفح الملفات، وحدد الصورة، ثم انقر على فتح. بدلاً من ذلك، يمكنك سحب الملف المستهدف من مجلدك المحلي وإفلاته مباشرة في منطقة الرفع المخصصة في نافذة المتصفح.
بمجرد اكتمال الرفع، يقوم المتصفح بتحميل بيانات الصورة في الذاكرة المحلية لـ libvips. يبدأ libvips تلقائياً في تحليل هيكل الصورة، ومسح شبكة البكسل لتحديد الخطوط الأفقية والرأسية المهيمنة التي تحدد شبكة المنظور. يطبق libvips مصفوفة تجانس (homography matrix) لتشويه إحداثيات الصورة، مما يعيد محاذاة الخطوط المتقاربة إلى مسارات متوازية.
تعمل هذه العملية على بنية تعتمد على WebAssembly في جانب العميل لضمان معالجة عالية السرعة دون استنزاف موارد نظامك المحلي. تعرض الواجهة الصورة التي تمت إعادة محاذاتها، وتوضح كيف أصبحت الخطوط المتقاربة الآن موازية للأفق الطبيعي والمحاور الرأسية. قم بالتكبير لفحص استقامة الحواف حول الميزات المعمارية.
يتلقى المتصفح بيانات الصورة المعالجة من libvips ويحفظ الملف الجديد المصحح مباشرة في مجلد التنزيلات المحلي لديك. يحافظ المخرج على صيغة الملف الأصلية ودقته.
كيف يعمل
يعتمد تصحيح المنظور على مبادئ الهندسة الإسقاطية. عندما يتم إسقاط مشهد ثلاثي الأبعاد على مستشعر كاميرا ثنائي الأبعاد بزاوية معينة، تبدو الخطوط المتوازية وكأنها تلتقي عند نقاط تلاشٍ. لعكس هذا التشويه البصري، يجب على libvips حساب علاقة رياضية تُعرف باسم التجانس (homography).
تبدأ العملية عند تحميل ملفك. يقوم libvips بتحليل الصورة لاكتشاف الحواف الهيكلية. يستخدم خوارزميات كشف الخطوط لتحديد المسارات الطويلة والمستمرة ذات التباين العالي، والتي تمثل عادةً حدوداً مادية مثل الجدران أو الأعمدة أو الآفاق.
من خلال حساب التقاطعات الرياضية لهذه الخطوط، يحدد libvips موقع نقاط التلاشي.
بمجرد تحديد نقاط التلاشي، يقوم libvips بإنشاء مصفوفة تحويل 3 في 3. تقوم هذه المصفوفة بتعيين الإحداثيات المشوهة للصورة الأصلية على مستوى جديد ومسطح. نظراً لأن هذا التعيين يمدد ويضغط مناطق مختلفة من الصورة، يجب على libvips حساب قيم بكسل جديدة للمساحات الفارغة التي تم إنشاؤها أثناء التشويه.
يقوم بذلك باستخدام الاستيفاء ثنائي الخط أو ثنائي التكعيب، وتحليل البكسلات المجاورة لإنشاء انتقالات سلسة والحفاظ على دقة عالية للصورة.
تتم إدارة هذه العملية بالكامل عبر بنية تعتمد على WebAssembly في جانب العميل. يدير المتصفح واجهة المستخدم ونقل الملفات واستقبال التنزيل، بينما يقوم libvips بإجراء حسابات المصفوفة المكثفة حسابياً. يضمن هذا التقسيم عدم توقف متصفحك المحلي عن الاستجابة، حتى عند معالجة صور عالية الدقة تتطلب ملايين عمليات إعادة حساب البكسل الفردية.
المخرج النهائي هو صورة مصححة هندسياً حيث تكون جميع الخطوط المستقيمة في الموضوع متوازية وطبيعية. يقوم libvips بتعبئة شبكة البكسل المصححة هذه مرة أخرى في صيغة الإخراج التي اخترتها (JPG أو JPEG أو PNG أو WEBP) ويسلم الملف إلى متصفحك للتنزيل الفوري.
عندما تسير الأمور بشكل خاطئ
فشل رفع الملف: يتجاوز ملفك حد الحجم المدعوم البالغ 20 ميجابايت. يفرض libvips هذا الحد. لن تتم معالجة الملفات التي تزيد عن الحجم المدعوم.
عندما يقوم libvips بفك ضغط الصورة لبناء شبكة البكسل، يمكن أن يتوسع ملف المصدر بحجم 20 ميجابايت إلى أكثر من 100 ميجابايت من بيانات البكسل الخام. تحقق من حجم ملفك وقلل دقة صورتك المصدر قبل الرفع.
تبدو الصورة المصححة مشوهة أو ممدودة: يحدث هذا عندما تفتقر الصورة المصدر إلى خطوط مرجعية أفقية أو رأسية واضحة. يعتمد libvips على اكتشاف الحواف المعمارية أو الآفاق أو الحدود الهيكلية لحساب نقاط التلاشي. إذا قمت برفع صورة لمناظر طبيعية لا تحتوي على خطوط مستقيمة، فلا يمكن لـ libvips تحديد شبكة المنظور الصحيحة.
سيقوم بتطبيق تحويل تقديري قد يشوه الصورة بشكل غير طبيعي. لتجنب ذلك، استخدم الأداة على صور تحتوي على مبانٍ أو لافتات أو إطارات أبواب أو ميزات هندسية أخرى.
يحتوي المخرج على حدود مثلثة بيضاء أو سوداء: عندما يقوم libvips بتدوير وإعادة تعيين إحداثيات البكسل، فإنه يغير شكل الإطار المستطيل الأصلي. يجب قص الصورة المصححة الجديدة أو حشوها لتناسب حاوية مستطيلة قياسية. إذا كان تصحيح المنظور متطرفاً، فلن تتوافق حواف الإطار مع الحدود المستطيلة الأصلية، مما يترك مساحة فارغة يملؤها libvips بلون خلفية صلب.
لتقليل هذا التأثير، استخدم صوراً ذات تشويه منظور أقل حدة أو قم بقص المخرج النهائي لإزالة مناطق الحدود الفارغة.
لا تزال الخطوط تبدو مائلة قليلاً بعد المعالجة: يتطلب تصحيح المنظور حساباً دقيقاً للغاية لنقاط التلاشي. إذا كانت صورتك المصدر تحتوي على تشويه عدسة (تشويه برميلي أو وسادي شائع في عدسات الهواتف الذكية ذات الزاوية الواسعة)، فستظهر الخطوط المستقيمة في العالم الحقيقي منحنية في الصورة. تقوم أداة تصحيح المنظور بتصحيح المنظور الخطي ولكنها لا تصحح تشويه العدسة الكروي.
الانحناء الطفيف المتبقي في الخطوط هو تشويه بصري للعدسة، وليس تشويه منظور. للحصول على أفضل النتائج، استخدم صوراً ملتقطة بعدسة قياسية بمستوى تكبير معتدل.
### لماذا تبدو صورتي المصححة وكأنها ذات دقة أقل من الأصلية؟ تقوم مصفوفة التحويل بتمديد بعض مناطق الصورة لملء الشكل المصحح. عندما يقوم libvips بتمديد مجموعة من البكسلات عبر مساحة أكبر، يجب عليه استيفاء قيم بكسل جديدة بين القيم الأصلية. يؤدي هذا الاستيفاء إلى تنعيم الصورة قليلاً، خاصة في المناطق التي تم ضغطها بشدة أثناء التحويل.
المقايضة بين الدقة الهندسية والحدة متأصلة في جميع خوارزميات تصحيح المنظور.
### ماذا يحدث إذا قمت برفع صورة ملتقطة من زاوية متطرفة، مثل النظر مباشرة لأعلى إلى ناطحة سحاب؟ يمكن لـ libvips تصحيح تشويه المنظور المتطرف، لكن النتائج ستتطلب قصاً أكثر قوة. عندما يقوم libvips بإعادة تعيين إحداثيات مشوهة للغاية على مستوى مسطح، ينتهي الأمر بجزء كبير من الصورة خارج حدود الإطار المستطيل ويتم قصه. للحصول على أفضل جودة، ضع نفسك في مستوى موازٍ للموضوع قدر الإمكان قبل التقاط الصورة.
Frequently Asked Questions
Q: كيف تعمل أداة Perspective Fix؟
تعالج أداة Perspective Fix الملفات بالكامل داخل متصفحك باستخدام WebAssembly. ملفاتك لا تغادر جهازك أبداً.
Q: هل استخدام Perspective Fix مجاني؟
نعم، Perspective Fix مجانية تماماً ولا تتطلب أي تسجيل أو حساب.