26-07-2017, 08:16 PM
(11-10-2010, 11:01 AM)kachwahed كتب : السلام عليكمبارك الله فبك يا استاذ
في المرفق مثال يستخدم خوارزمية Hufman لضغط (ترميز Encoding) صور bmp
انا تعرفت على خوارزمبة هوفمن حديثا
اعجبنني فكرة الضغط و بدأت ببرمجة برنامج يعمل بها
الا انني لم اعتمد على فكرة هوفمن بالكامل
فهو اعتمد على نصف الاحتمالات فقط
و فضلت ان اكثر حرفبن تكرارا تمثلان ببت واحد صفر و واحد
و ثم اثنان بت تمثل اربعة و سبعة بت تمثل ثمانبة و هكذا
اعتمد على المراحل
قراءة الملف
ترتيب الملف من الاكبر الى الاصغر
حساب عدد تكرار كل حرف او كلمة اي على حسب عدد البايتات التى تربد الضغط
حسبها
اعادة الترتيب على على حسب عدد التكرار
انشاء مصفوفة احتمالات البت
انشاء مصفوفة المستويات معتمدا على امربن
اكبر عدد الاحرف دون تكرار تعطينا حجم المستوى بالبت
اكبر عدد مكرر هو صاحب اقل حجم بت اي بت اما صفر او واحد
و المستوى نقصد بها عدد البت الذي سنستبدل به البايت او الكلمة
و في الاخيى وضعها في ملف ثنائي ز المصفوفات هي
الاحرف الاصلبة دون تكرار
المسنويات
المصفوفة التي استبدلنا فيها الاحرف بالبت
و هيدر لكي نعرف كل قسم و بعض المعلومات عليه
انا متوقف في هذه المرحلة بسبب انني لاقيت صعوبة في التعامل مع الملف بصيغة ثنائية
ساعدني في التعامل مع الملفات كتتب الاخ tgm
لست اءكر الاسم ز عذرا على تلاخطاء غي الكتابة
والله اننبةبالكاد ارى الاحرف بااهاتف بارك الله فيكم
الحكمة ضالة المؤمن أنى وجدها فهو أحق الناس بها

