ClimbA Generic and Dynamic Approach to Image ProcessingChristopher ChedeauJune 09, 2010logoClimbIntroductionErosionDefinitionNaive VersionGenericity IssuesFinal VersionMorpherMorpher DefinitionContent MorpherCombinationClimb: Common Lisp image processingDemonstrationSame Genericity as Olena1ConclusionConclusionWith more InteractivityQuestionsBibliographylogo1olena.lrde.epita.fr2 / 21ClimbErosionDefinitionErosionNaive VersionDefinitionNaive VersionGenericity IssuesGenericity IssuesFinal VersionFinal VersionMorpherMorpher DefinitionContent MorpherMorpherCombinationMorpher DefinitionDemonstrationContent MorpherConclusionConclusionCombinationQuestionsBibliographyDemonstrationConclusionConclusionQuestionsBibliographylogo3 / 21ClimbErosionDefinitionErosionNaive VersionDefinitionNaive VersionGenericity IssuesGenericity IssuesFinal VersionFinal VersionMorpherMorpher DefinitionContent MorpherMorpherCombinationMorpher DefinitionDemonstrationContent MorpherConclusionConclusionCombinationQuestionsBibliographyDemonstrationConclusionConclusionQuestionsBibliographylogo4 / 21ClimbErosion DefinitionErosionDefinitionNaive VersionGenericity IssuesFinal VersionMorpherMorpher DefinitionContent MorpherCombination”All the pixels are replaced by the minimum value of theDemonstrationConclusionpixels around.”ConclusionQuestionsBibliographylogo5 / 21ClimbErosion ExampleErosionDefinitionNaive VersionGenericity IssuesFinal VersionMorpherMorpher DefinitionContent MorpherCombinationDemonstrationConclusionConclusionQuestionsBibliographyhttp://homepages.inf.ed.ac.uk/rbf/HIPR2/erode.htmlogo6 / 21ClimbDilation ExampleErosionDefinitionNaive VersionGenericity IssuesFinal VersionMorpherMorpher DefinitionContent MorpherCombinationDemonstrationConclusionConclusionQuestionsBibliographyhttp://homepages.inf.ed.ac.uk/rbf/HIPR2/dilate.htmlogo7 / 21ClimbNaive Boolean 2D VersionErosionDefinitionNaive VersionGenericity IssuesFinal Version// Loop t h r o u g ha l lt h ev a l i di m a g ep i x e l sf o r( x = 0 ; x < i m g w i d t h ; ++x )Morpherf o r( y = 0 ; y < i m g h e i g h t ; ++y )Morpher DefinitionContent Morpher//I n i t i a l i z et h eo u t p u t i m a g eCombinationn e w i m a g e [ x ] [ y ] = TRUE ;Demonstration// Loop t h r o u g ha l lt h en e i g h b o r h o o dp i x e l sConclusionn e i g h b o r h o o d :f o r( i = −n e i g h b w i d t h ;i <= n e i g h b w i d t h ; ++i )Conclusionf o r( j = −n e i g h b h e i g h t ;j <= n e i g h b h e i g h t ; ++j )QuestionsBibliographyi f( ( x + i >= 0 && x + i < i m g w i d t h ) &&( y + j >= 0 && y + j < i m g h e i g h t ) )/∗ A l g o r i t h m ∗/i f( o l d i m a g e [ x + i ] [ y + j ] == FALSE )n e w i m a g e [ x ] [ y ] = FALSE ;b r e a kn e i g h b o r h o o d ;logo8 / 21ClimbGenericity IssuesErosionImage StructureDefinitionNaive VersionNeighborhoodGenericity IssuesFinal VersionMorpherMorpher DefinitionContent MorpherCombinationDemonstrationConclusionConclusion8-connexity4-connexityCustomQuestionsBibliographyAlgorithm• Difference between erosion and dilation? Min / Max• Accumulator• Black Box: Many inputs, Compute a resultValue Type• Bool, Gray, RGB, ...• Specialize the Accumulatorlogo9 / 21ClimbFinal VersionErosionDefinitionNaive VersionGenericity IssuesFinal Version( d e f u n e r o s i o n ( img n e i g h b )Morpher( image−map imgMorpher DefinitionContent Morpher( accu−r e d u c e n e i g h bCombination( min−a c c u ) ) ) )DemonstrationConclusionConclusionQuestionsBibliographyReadable AlgorithmSmall Functions: Easily Unit TestableExtensibleWrite Once, Support Everythinglogo10 / 21Document Outline
- Erosion
- Definition
- Naive Version
- Genericity Issues
- Final Version
- Morpher
- Morpher Definition
- Content Morpher
- Combination
- Demonstration
- Conclusion
- Conclusion
- Questions
- Bibliography
Add New Comment