an implementation of quadtree for image compression

7
4/1/2012 MULTIMEDIA ASSIGNMENT #1 | ZGTR & HASSNOC حمد شاكر مه سرحانمد حس محوص مدحت الص2102 OCTREE APPS ZGTR & HasSNov

Upload: mohammad-shaker

Post on 14-May-2015

277 views

Category:

Software


0 download

DESCRIPTION

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

TRANSCRIPT

Page 1: An Implementation of Quadtree for Image Compression

4/1/2012

MULTIMEDIA ASSIGNMENT #1 | ZGTR & HASSNOC

محمد حسه سرحان محمد شاكر

مدحت الصوص

2102

OCTREE APPS

ZGTR & HasSNov

Page 2: An Implementation of Quadtree for Image Compression

April 1, 2012 [OCTREE]

1 Mohammad Shaker & Hasan Serhan

الفهرس

2 ...................................................................................................األشجار أنواع

التقابل توابع أنواع Mapping ............................................................................... 3

الـ ملفاتGIF .................................................................................................... 4

4 ................................................................................................ المستخدم واجهة

Page 3: An Implementation of Quadtree for Image Compression

April 1, 2012 [OCTREE]

2 Mohammad Shaker & Hasan Serhan

أنىاع األشجار

تختلف فما بنها بطرق تخفف العقد Octreeوجد ضمن المشروع عدة أنواع من أشجار الـ

(Collapsing, reduce).

شرح عنها فما ل )نقصد بمتوازنة أي أنه ألي فرع ف أي لحظة نفس االرتفاع، ع مع سنورد األنوا

أما غر المتوازنة فممكن أن تحوي على أوراق ف مستوات مختلفة(.

Type

متوازنة، تقوم بتخفف العقد ف المستوى السابع فقط تبعا ألقل عدد أبناء

OctreeBalancedLeastC7LCollapsing نة

زوا

مت

متوازنة، تقوم بتخفف العقد ف بدءأ من العقد المطلوب التخفف منها وتزل جمع

األبناء وذلك أضا تبعا ألقل عدد أبناءOctreeBalancedLeastCAllCollapsing

متوازنة، تخفف العقد اعتمادا على األقل زارة

OctreeBalancedLeastVAllSidesCollapsing

OctreeUnBalancedLeastChilds متوازنة، تعتمد على األقل أبناءغر

نةزوا

متر

غ

غر متوازنة، تعتمد على قص طرف واحد من العقدة المراد التخفف عندها وتعتمد على

األقل زارةOctreeUnBalancedLeastV1SideCollapsing

Page 4: An Implementation of Quadtree for Image Compression

April 1, 2012 [OCTREE]

3 Mohammad Shaker & Hasan Serhan

غر متوازنة تعتمد على قص جمع األبناء التخفف عندها وتعتمد على من العقدة المراد

األقل زارةOctreeUnBalancedLeastVAllSidesCollapsing

أنىاع تىابع التقابلMapping

وجد عدة أنواع لتوابع التقابل كما هو موضح:

Typeالنوع الشرح

وجد المسافة بن مركبة واحدة فقط )حمراء، خضراء، زرقاء(

ColorComponent

المسافة تبعا للمركبات الثالثة معا وجد ColorComponentsSum

وجد المساقة تبعا لتحسس العن البشرة لألحمر واألخضر أكثر منها لألزرق

ColorWeightedComponentSum

وجد المساقة األقلدة بن مجموع المركبات للونن

EcludianDistanceARGB

لونن تبعا للمركبات وجد المسافة اإلقلدة بن الثالثة

EcludianDistanceColorComponents

Page 5: An Implementation of Quadtree for Image Compression

April 1, 2012 [OCTREE]

4 Mohammad Shaker & Hasan Serhan

الـ اتملفGIF لون على 256تستخدم هذه الالحقة للصور وتتمز بأن الصور فها تكون صغرة الحجم حث تتكون من

األكثر.

وتم n^2تعتمد هذه الالحقة على جدول ألوان حوي األلوان الموجودة ف الصورة، عدد هذه األلوان من رتبة

للون موجود ف جدول األلوان. Indexربط كل بكسل من الصورة بـ

من أهم صفات صور هذه الالحقة أنها صغرة الحجم وبالتال مناسبة لالنترنت، مع العلم أن هناك جزء من

لة الصورة ضع بسبب نقص األلوان ف الصورة.جما

واستطعنا بعدها الحصول على مصفوفة Octreeبما أن جدول األلوان جاهز لدنا بعد تطبق خوارزمة الـ

ألوان الصورة مقربة إلى األلوان الموجودة ف الجدول فقط، فوضعنا مزة حفظ الصورة بهذه الالحقة.

ممتازة وال Gifمن األلوان كرسوم الكرتون البسطة أو ما شابه تكون الحقة ف الصور الت تحوي عدد قلل

JPEG تسبب أي خسارة ف األلوان، وف الواقع ه تضغط الصورة ف مثل هذه الحاالت أكثر من صور الـ

بأحد برامج الضغط هو عملة زائدة بال نتجة ألن الصور بهذه الالحقة GIFحث أن محاولة ضغط صورة

.LZWتكون غالبا مضغوطة أصال عن طرق خوارزمة الضغط

واجهة المستخدم

تتح الواجهة التحكم بكل ما رده المستخدم، كما تتح له مقارنة أكثر من صورة معا

كما تاح له استخدام أي نوع أشجاء مع أي نوع من توابع مكن للمستخدم تحدد عدد العقد كما شاء،

التقابل.

Page 6: An Implementation of Quadtree for Image Compression

April 1, 2012 [OCTREE]

5 Mohammad Shaker & Hasan Serhan

GIF, JPGعرض للمستخدم كل صورة مع زمن المعالجة وإمكانة إخراجها إلى ملفات

كما تاح له طبعا أزالتها أو تكبرها وتصغرها.

Page 7: An Implementation of Quadtree for Image Compression

April 1, 2012 [OCTREE]

6 Mohammad Shaker & Hasan Serhan

لمعرفة كفة تكرار األلوان Histogramكما مكن عرض جدول األلوان ألي صورة مع ما رافقه من

ف الصورة.