
تحويل الأحرف الصينية إلى خطوط خط واحد باستخدام رؤية الكمبيوتر
تعتبر الخطوط ذات الخط الواحد مثل خطوط Hershey مفيدة بشكل كبير لصنع رسومات إجرائية رائعة وللنقط. كما يمكن القول أنها أسهل في التعلم من أجل الشباك العصبية.
تقوم هذه الأداة تلقائيًا بإنشاء خطوط ذات خط واحد صيني مع إعطاء ملف خط حقيقي منتظم (TTF/TTC). يمكن أن يخرج إما تنسيق Hershey الكلاسيكي ، أو ملف JSON الذي يحتوي على جميع بولينز.
تقوم الخوارزمية بمسح نقطية تجسيد للشخصية في العديد من الزوايا المختلفة للعثور على شرائح خطية على الأرجح جزء من السكتة الدماغية. ثم يقدر السكتات الدماغية عن طريق توصيل ودمج وتنظيف شرائح الخط.

pip install pillow ) فيما يلي أنواع من الملفات التي يمكن أن ينتجها هذا البرنامج لترميز خطوط خط واحد.
ملف JSON مع كائن واحد. مفاتيح الكائن هي مؤشرات أحادية الأحرف. كل خرائط رئيسية لمجموعة من polylines. Polyline هو مجموعة من النقاط. النقطة هي صفيف 2 عنصر يحتوي على إحداثيات X و Y. الإحداثيات هي تعويم بين 0.0 و 1.0 ، و (0،0) هو الزاوية اليسرى العلوية. على سبيل المثال:
{
"U+4E00" :[[[ 0.0 , 0.55 ], [ 1.0 , 0.55 ]]],
"U+4E01" :[[[ 0.02 , 0.02 ], [ 0.99 , 0.02 ]], [[ 0.51 , 0.02 ], [ 0.53 , 0.925 ], [ 0.31 , 1.0 ]]]
}يحتوي الترميز أعلاه على أول حرفين صينيين في Unicode و "一" و "丁".
خطوط هيرشي هي مجموعة من خطوط المتجهات التي تم تطويرها ج. 1967 من قبل الدكتور ألين فنسنت هيرشي في مختبر الأسلحة البحرية ، المصمم في الأصل ليتم تقديمه باستخدام المتجهات على شاشات أنبوب أشعة الكاثود المبكرة. الخطوط متاحة للجمهور ولديها عدد قليل من قيود الاستخدام. يتم تحجيم خطوط المتجهات بسهولة وتدويرها في بعدين أو ثلاثة. وبالتالي ، تم استخدام خطوط Hershey على نطاق واسع في رسومات الكمبيوتر ، وبرامج التصميم بمساعدة الكمبيوتر ، ومؤخراً أيضًا في تطبيقات التصنيع بمساعدة الكمبيوتر مثل نقش الليزر. (ويكيبيديا)
يقدم هذا الرابط نظرة عامة على كيفية تحليل خطوط هيرشي. يمكنك أيضًا العثور على تنفيذي الخاص في Lingdong-/P5-Hershey-JS.
بالمقارنة مع ملفات السكتة الدماغية ، فإن خطوط هيرشي أكثر إحكاما عدة مرات ، ولكن لديها أيضًا إحداثيات أقل دقة.
إذا كنت مهتمًا فقط باستخدام خطوط الخط الواحد المولدة مسبقًا ، فيمكنك الاستيلاء عليها في الأماكن التالية:
ملحوظة:
كانت Heiti.hf.txt و Kaiti.hf.txt تعتمد في الأصل على خطوط نظام MacOS الملكية STHeiti و STKaiti . تم استبدالهم الآن ببدائل مفتوحة المصدر.
إذا كنت ترغب في إنشاء خطوط خط واحد جديدة من ملفات TTF/TTC مخصصة ، فاستخدم أولاً الأمر التالي لإنشاء ملف السكتة الدماغية المشفرة JSON.
python char2stroke.py build path/to/font.ttf
الحجج الاختيارية:
--first [FIRST]
--height [HEIGHT]
--last [LAST]
--ngradient [NGRADIENT]
--output [OUTPUT]
--strw [STRW]
--width [WIDTH]
width height بعد الصور النقطية للشخصيات المراد مسحها. أكبر هذه الأرقام ، وأكثر تفصيلًا وأبطأ. الافتراضي هو 100 لكليهما.strw هو عرض السكتة الدماغية التقريبي (بالبكسل ، في width المعطى height ). يستخدم هذا عند دمج السكتات الدماغية. الافتراضي هو 10 .first last يحدد نطاق أحرف Unicode لتضمينه. القيم الافتراضية هي 0x4e00 و 0x9fef ، والتي تحتوي على جميع الأنبوبية "CJK Ideograph".ngradient هو عدد التدرجات المختلفة المستخدمة لمسح الصورة. في ngradient = 1 ، يتم مسح السكتات الدماغية فقط عند 0 درجة و 45 درجة و 90 درجة ، بينما في 2 و 3 و 4 ، يتم تضمين منحدرات atan(1/2) ، atan(1/3) و atan(1/4) . الافتراضي هو 2 .output : مسار لكتابة ملف الإخراج. عندما لا يتم تحديد ذلك ، يكتب البرنامج إلى stdout ، و > (معلومات) و | (معلومات) يمكن استخدامها لإعادة توجيه الإخراج.قبل إنشاء ملفات كبيرة ، من المفيد إجراء بعض الاختبارات السريعة على مجموعات صغيرة من الأحرف ، وقارن عن كيفية ظهور الخطوط المختلفة ، وتعديل المعلمات. يسهل الأمر التالي هذه العملية مع التصور جنبًا إلى جنب لنتائج رؤية الكمبيوتر.
python char2stroke.py test path/to/font1.ttf path/to/font2.ttf ...
الحجج الاختيارية:
--corpus [CORPUS]
--height [HEIGHT]
--ngradient [NGRADIENT]
--nsample [NSAMPLE]
--strw [STRW]
--width [WIDTH]
corpus : سلسلة لاختبارها. الافتراضي هو نص ألف حرف كلاسيكي.nsample : عدد الأحرف التي سيتم اختيارها بشكل عشوائي من المجموعة. الافتراضي هو 8 .build .يقوم الأمر التالي بإنشاء خط هيرشي من ملف السكتة الدماغية التي تم إنتاجها في الخطوة السابقة.
python tohershey.py path/to/input.json > path/to/output.hf.txt
