خوارزمية Hufman
#1
[COLOR="black"]السلام عليكم
في المرفق مثال يستخدم خوارزمية Hufman لضغط (ترميز Encoding) صور bmp
[/COLOR]


الملفات المرفقة
.rar   Hufman.rar (الحجم : 3.64 ك ب / التحميلات : 296)
[-] كل من 2 users say قال شكرا ل kachwahed على المشاركة المفيدة
  • mohamed49, ALKO
الرد
#2
يعطيك العافية جاري الاطلاع ...

شوف هذا الفيديو هل له علاقة بالموضوع !!

كود :
http://www.youtube.com/watch_popup?v=kLSIOC_2c-Q&vq=medium
الرد
#3
شكرا على المشاركة Smile
تلك تعليمة سطر أوامر لنسخ Binary
كود :
http://www.online-tech-tips.com/computer-tips/hide-file-in-picture/
هذه خوارزمية ترميز شهيرة تستخدم بكثرة كجزء من خوارزميات الضغط لصيغ مختلفة، طالع المزيد:
كود :
http://en.wikipedia.org/wiki/Huffman_coding
الرد
#4
يعطيك العافية على المعلومات الاكثر من قيمهSmile
الرد
#5
السلام عليكم أخي العزيز

جزاك الله خيراً الحقيقة خوارزمية أكثر من جميلة
الرد
#6
[COLOR="black"]أهلا بعودتك أخي issamdnn
آمل أن نرى المزيد من مواضيعك المثيرة Smile[/COLOR]
الرد
#7
أخ sami هذه خوارزمية ضغط فقط لتقليص حجم البيانات بدون فقد لها
يعتبر تطبيق هذه الخوارزمية معقدة قليلا فزدتها تعقيدا أخي كاش وخصوصا ال Global Variable
هل ممكن تشرح الكود بشكل عام أو على شكل pseudo code
الرد
#8
السلام عليكم
أهلا ومرحبا بضيفنا العزيز aljeelany Smile
نقلت المثال من موقع صيني على ما أذكر للفائدة
لا علاقة لي بذلك Sad
الرد
#9
جزاك الله خيرا
الرد
#10
(11-10-2010, 11:01 AM)kachwahed كتب : السلام عليكم
في المرفق مثال يستخدم خوارزمية Hufman لضغط (ترميز Encoding) صور bmp
بارك الله فبك يا استاذ
انا تعرفت على خوارزمبة هوفمن حديثا 
اعجبنني فكرة الضغط و بدأت ببرمجة برنامج يعمل بها
الا انني لم اعتمد على فكرة  هوفمن بالكامل 
فهو اعتمد على نصف  الاحتمالات فقط
و فضلت ان اكثر حرفبن تكرارا تمثلان ببت واحد  صفر و واحد
و ثم اثنان بت تمثل اربعة و سبعة بت تمثل ثمانبة و هكذا
اعتمد على المراحل
قراءة الملف 
ترتيب الملف من  الاكبر الى الاصغر
حساب عدد تكرار كل حرف او كلمة  اي على حسب عدد البايتات التى تربد الضغط 
حسبها 
اعادة الترتيب على على حسب عدد التكرار
انشاء مصفوفة احتمالات البت 
انشاء مصفوفة المستويات معتمدا على امربن
اكبر عدد  الاحرف دون تكرار  تعطينا حجم المستوى بالبت
اكبر عدد مكرر هو صاحب اقل حجم بت اي بت اما صفر او واحد
و المستوى نقصد بها عدد البت الذي سنستبدل به البايت او الكلمة
و في الاخيى وضعها في ملف ثنائي ز المصفوفات هي
الاحرف الاصلبة دون تكرار
المسنويات 
المصفوفة التي استبدلنا فيها الاحرف بالبت
و هيدر لكي نعرف كل قسم و بعض المعلومات عليه
انا متوقف في هذه المرحلة بسبب انني لاقيت صعوبة في التعامل مع الملف بصيغة ثنائية
ساعدني في التعامل مع الملفات كتتب الاخ tgm
لست اءكر الاسم ز عذرا على تلاخطاء غي الكتابة
والله اننبةبالكاد ارى الاحرف بااهاتف بارك الله فيكم
الحكمة ضالة المؤمن أنى وجدها فهو أحق الناس بها
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم