An Implementation of Quadtree for Image Compression

639 views

Published on

An implementation of Quadtree in C#. It is used for images compression (in different techniques.)

Published in: Software
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
639
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
8
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

An Implementation of Quadtree for Image Compression

  1. 1. 4/1/2012 MULTIMEDIA ASSIGNMENT #1 | ZGTR & HASSNOC ‫شاكر‬ ‫محمد‬‫سرحان‬ ‫حسه‬ ‫محمد‬ ‫الصوص‬ ‫مدحت‬ 2102 OCTREE APPSZGTR & HasSNov
  2. 2. April 1, 2012 [OCTREE] 1 Mohammad Shaker & Hasan Serhan ‫الفهرس‬ ‫أنواع‬‫األشجار‬...................................................................................................2 ‫أنواع‬‫توابع‬‫التقابل‬Mapping...............................................................................3 ‫ملفات‬‫الـ‬GIF....................................................................................................4 ‫واجهة‬‫المستخدم‬................................................................................................4
  3. 3. April 1, 2012 [OCTREE] 2 Mohammad Shaker & Hasan Serhan ‫األشجار‬ ‫أنىاع‬ ‫الـ‬ ‫أشجار‬ ‫من‬ ‫أنواع‬ ‫عدة‬ ‫المشروع‬ ‫ضمن‬ ‫ٌوجد‬Octree‫العقد‬ ‫تخفٌف‬ ‫بطرق‬ ‫بٌنها‬ ‫فٌما‬ ‫تختلف‬ (Collapsing, reduce). ‫األنوا‬ ‫سنورد‬‫مع‬ ‫ع‬،‫االرتفاع‬ ‫نفس‬ ‫لحظة‬ ‫أي‬ ً‫ف‬ ‫فرع‬ ‫ألي‬ ‫أنه‬ ‫أي‬ ‫بمتوازنة‬ ‫(نقصد‬ ً‫ٌل‬ ‫فٌما‬ ‫عنها‬ ‫شرح‬ .)‫مختلفة‬ ‫مستوٌات‬ ً‫ف‬ ‫أوراق‬ ‫على‬ ‫تحوي‬ ‫أن‬ ‫فممكن‬ ‫المتوازنة‬ ‫غٌر‬ ‫أما‬ Type ‫المستوى‬ ً‫ف‬ ‫العقد‬ ‫بتخفٌف‬ ‫تقوم‬ ،‫متوازنة‬ ‫أبناء‬ ‫عدد‬ ‫ألقل‬ ً‫ا‬‫تبع‬ ‫فقط‬ ‫السابع‬ OctreeBalancedLeastC7LCollapsing ‫متوازنة‬ ‫من‬ ‫بدءأ‬ ً‫ف‬ ‫العقد‬ ‫بتخفٌف‬ ‫تقوم‬ ،‫متوازنة‬ ‫جمٌع‬ ‫وتزٌل‬ ‫منها‬ ‫التخفٌف‬ ‫المطلوب‬ ‫العقد‬ ‫أبناء‬ ‫عدد‬ ‫ألقل‬ ً‫ا‬‫تبع‬ ً‫ا‬‫أٌض‬ ‫وذلك‬ ‫األبناء‬ OctreeBalancedLeastCAllCollapsing ‫األقل‬ ‫على‬ ً‫ا‬‫اعتماد‬ ‫العقد‬ ‫تخفف‬ ،‫متوازنة‬ ‫زٌارة‬ OctreeBalancedLeastVAllSidesCollapsing ‫غٌر‬‫أبناء‬ ‫األقل‬ ‫على‬ ‫تعتمد‬ ،‫متوازنة‬ OctreeUnBalancedLeastChilds ‫متوازنة‬‫غٌر‬ ‫واحد‬ ‫طرف‬ ‫قص‬ ‫على‬ ‫تعتمد‬ ،‫متوازنة‬ ‫غٌر‬ ‫على‬ ‫وتعتمد‬ ‫عندها‬ ‫التخفٌف‬ ‫المراد‬ ‫العقدة‬ ‫من‬ ‫زٌارة‬ ‫األقل‬ OctreeUnBalancedLeastV1SideCollapsing
  4. 4. April 1, 2012 [OCTREE] 3 Mohammad Shaker & Hasan Serhan ‫األبناء‬ ‫جمٌع‬ ‫قص‬ ‫على‬ ‫تعتمد‬ ‫متوازنة‬ ‫غٌر‬ ‫المراد‬ ‫العقدة‬ ‫من‬‫على‬ ‫وتعتمد‬ ‫عندها‬ ‫التخفٌف‬ ‫زٌارة‬ ‫األقل‬ OctreeUnBalancedLeastVAllSidesCollapsing ‫التقابل‬ ‫تىابع‬ ‫أنىاع‬Mapping :‫موضح‬ ‫هو‬ ‫كما‬ ‫التقابل‬ ‫لتوابع‬ ‫أنواع‬ ‫عدة‬ ‫ٌوجد‬ ‫الشرح‬ ‫النوع‬Type ‫فقط‬ ‫واحدة‬ ‫مركبة‬ ‫بٌن‬ ‫المسافة‬ ‫ٌوجد‬ )‫زرقاء‬ ،‫خضراء‬ ،‫(حمراء‬ ColorComponent ‫ٌوجد‬ً‫ا‬‫مع‬ ‫الثالثة‬ ‫للمركبات‬ ً‫ا‬‫تبع‬ ‫المسافة‬ ColorComponentsSum ‫لألحمر‬ ‫البشرٌة‬ ‫العٌن‬ ‫لتحسس‬ ً‫ا‬‫تبع‬ ‫المساقة‬ ‫ٌوجد‬ ‫لألزرق‬ ‫منها‬ ‫أكثر‬ ‫واألخضر‬ ColorWeightedComponentSum ‫المركبات‬ ً‫مجموع‬ ‫بٌن‬ ‫األقلٌدٌة‬ ‫المساقة‬ ‫ٌوجد‬ ‫للونٌن‬ EcludianDistanceARGB ‫بٌن‬ ‫اإلقلٌدٌة‬ ‫المسافة‬ ‫ٌوجد‬‫للمركبات‬ ً‫ا‬‫تبع‬ ‫لونٌن‬ ‫الثالثة‬ EcludianDistanceColorComponents
  5. 5. April 1, 2012 [OCTREE] 4 Mohammad Shaker & Hasan Serhan ‫ملف‬‫ات‬‫الـ‬GIF ‫من‬ ‫تتكون‬ ‫حٌث‬ ‫الحجم‬ ‫صغٌرة‬ ‫تكون‬ ‫فٌها‬ ‫الصور‬ ‫بأن‬ ‫وتتمٌز‬ ‫للصور‬ ‫الالحقة‬ ‫هذه‬ ‫تستخدم‬256‫على‬ ‫لون‬ .‫األكثر‬ ‫رتبة‬ ‫من‬ ‫األلوان‬ ‫هذه‬ ‫عدد‬ ،‫الصورة‬ ً‫ف‬ ‫الموجودة‬ ‫األلوان‬ ‫ٌحوي‬ ‫ألوان‬ ‫جدول‬ ‫على‬ ‫الالحقة‬ ‫هذه‬ ‫تعتمد‬2^n‫وٌتم‬ ‫بـ‬ ‫الصورة‬ ‫من‬ ‫بٌكسل‬ ‫كل‬ ‫ربط‬Index.‫األلوان‬ ‫جدول‬ ً‫ف‬ ‫موجود‬ ‫للون‬ ‫من‬ ‫جزء‬ ‫هناك‬ ‫أن‬ ‫العلم‬ ‫مع‬ ،‫لالنترنت‬ ‫مناسبة‬ ً‫وبالتال‬ ‫الحجم‬ ‫صغٌرة‬ ‫أنها‬ ‫الالحقة‬ ‫هذه‬ ‫صور‬ ‫صفات‬ ‫أهم‬ ‫من‬ ‫جما‬.‫الصورة‬ ً‫ف‬ ‫األلوان‬ ‫نقص‬ ‫بسبب‬ ‫ٌضٌع‬ ‫الصورة‬ ‫لٌة‬ ‫الـ‬ ‫خوارزمٌة‬ ‫تطبٌق‬ ‫بعد‬ ‫لدٌنا‬ ‫جاهز‬ ‫األلوان‬ ‫جدول‬ ‫أن‬ ‫بما‬Octree‫مصفوفة‬ ‫على‬ ‫الحصول‬ ‫بعدها‬ ‫واستطعنا‬ .‫الالحقة‬ ‫بهذه‬ ‫الصورة‬ ‫حفظ‬ ‫مٌزة‬ ‫فوضعنا‬ ،‫فقط‬ ‫الجدول‬ ً‫ف‬ ‫الموجودة‬ ‫األلوان‬ ‫إلى‬ ‫مقربة‬ ‫الصورة‬ ‫ألوان‬ ‫قلٌل‬ ‫عدد‬ ‫تحوي‬ ً‫الت‬ ‫الصور‬ ً‫ف‬‫الحقة‬ ‫تكون‬ ‫شابه‬ ‫ما‬ ‫أو‬ ‫البسٌطة‬ ‫الكرتون‬ ‫كرسوم‬ ‫األلوان‬ ‫من‬Gif‫وال‬ ‫ممتازة‬ ‫الـ‬ ‫صور‬ ‫من‬ ‫أكثر‬ ‫الحاالت‬ ‫هذه‬ ‫مثل‬ ً‫ف‬ ‫الصورة‬ ‫تضغط‬ ً‫ه‬ ‫الواقع‬ ً‫وف‬ ،‫األلوان‬ ً‫ف‬ ‫خسارة‬ ‫أي‬ ‫تسبب‬JPEG ‫صورة‬ ‫ضغط‬ ‫محاولة‬ ‫أن‬ ‫حٌث‬GIF‫الالحقة‬ ‫بهذه‬ ‫الصور‬ ‫ألن‬ ‫نتٌجة‬ ‫بال‬ ‫زائدة‬ ‫عملٌة‬ ‫هو‬ ‫الضغط‬ ‫برامج‬ ‫بأحد‬ ‫الضغط‬ ‫خوارزمٌة‬ ‫طرٌق‬ ‫عن‬ ‫أصال‬ ‫مضغوطة‬ ‫غالبا‬ ‫تكون‬LZW. ‫المستخدم‬ ‫واجهة‬ ً‫ا‬‫مع‬ ‫صورة‬ ‫من‬ ‫أكثر‬ ‫مقارنة‬ ‫له‬ ‫تتٌح‬ ‫كما‬ ،‫المستخدم‬ ‫ٌرٌده‬ ‫ما‬ ‫بكل‬ ‫التحكم‬ ‫الواجهة‬ ‫تتٌح‬ ،‫ٌشاء‬ ‫كما‬ ‫العقد‬ ‫عدد‬ ‫تحدٌد‬ ‫للمستخدم‬ ‫ٌمكن‬‫توابع‬ ‫من‬ ‫نوع‬ ‫أي‬ ‫مع‬ ‫أشجاء‬ ‫نوع‬ ‫أي‬ ‫استخدام‬ ‫له‬ ‫ٌتاح‬ ‫كما‬ .‫التقابل‬
  6. 6. April 1, 2012 [OCTREE] 5 Mohammad Shaker & Hasan Serhan ‫ملفات‬ ‫إلى‬ ‫إخراجها‬ ‫وإمكانٌة‬ ‫المعالجة‬ ‫زمن‬ ‫مع‬ ‫صورة‬ ‫كل‬ ‫للمستخدم‬ ‫ٌعرض‬GIF, JPG .‫وتصغٌرها‬ ‫تكبٌرها‬ ‫أو‬ ‫أزالتها‬ ً‫ا‬‫طبع‬ ‫له‬ ‫ٌتاح‬ ‫كما‬
  7. 7. April 1, 2012 [OCTREE] 6 Mohammad Shaker & Hasan Serhan ‫من‬ ‫ٌرافقه‬ ‫ما‬ ‫مع‬ ‫صورة‬ ‫ألي‬ ‫األلوان‬ ‫جدول‬ ‫عرض‬ ‫ٌمكن‬ ‫كما‬Histogram‫األلوان‬ ‫تكرار‬ ‫كٌفٌة‬ ‫لمعرفة‬ .‫الصورة‬ ً‫ف‬

×