Climb - A Generic and Dynamic Approach to Image Processing
-
Upload
christopher-chedeau -
Category
Education
-
view
988 -
download
0
description
Transcript of Climb - A Generic and Dynamic Approach to Image Processing
logo
ClimbA Generic and Dynamic Approach to Image Processing
Christopher Chedeau
June 09, 2010
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
Introduction
I Climb: Common Lisp image processing
I Same Genericity as Olena1
I With more Interactivity
1olena.lrde.epita.fr2 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
ErosionDefinitionNaive VersionGenericity IssuesFinal Version
MorpherMorpher DefinitionContent MorpherCombination
Demonstration
ConclusionConclusionQuestionsBibliography
3 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
ErosionDefinitionNaive VersionGenericity IssuesFinal Version
MorpherMorpher DefinitionContent MorpherCombination
Demonstration
ConclusionConclusionQuestionsBibliography
4 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
Erosion Definition
”All the pixels are replaced by the minimum value of thepixels around.”
5 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
Erosion Example
http://homepages.inf.ed.ac.uk/rbf/HIPR2/erode.htm
6 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
Dilation Example
http://homepages.inf.ed.ac.uk/rbf/HIPR2/dilate.htm
7 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
Naive Boolean 2D Version
// Loop through a l l t h e v a l i d image p i x e l sf o r ( x = 0 ; x < i mg w id t h ; ++x )
f o r ( y = 0 ; y < i m g h e i g h t ; ++y )
// I n i t i a l i z e t h e output imagenew image [ x ] [ y ] = TRUE;
// Loop through a l l t h e n e i g h b o r h o o d p i x e l sn 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 )f 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 )
i f ( ( x + i >= 0 && x + i < i mg w id 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)
new image [ x ] [ y ] = FALSE ;b r e a k n e i g h b o r h o o d ;
8 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
Genericity Issues
I Image Structure
I Neighborhood
8-connexity 4-connexity Custom
I Algorithm• Difference between erosion and dilation? Min / Max• Accumulator• Black Box: Many inputs, Compute a result
I Value Type• Bool, Gray, RGB, ...• Specialize the Accumulator
9 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
Final Version
( de fun e r o s i o n ( img n e i g h b )( image−map img
( accu−r e d u c e n e i g h b( min−accu ) ) ) )
I Readable Algorithm
I Small Functions: Easily Unit Testable
I Extensible
I Write Once, Support Everything
10 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
ErosionDefinitionNaive VersionGenericity IssuesFinal Version
MorpherMorpher DefinitionContent MorpherCombination
Demonstration
ConclusionConclusionQuestionsBibliography
11 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
Definition
I Alter communication protocol
I Non intrusive, Transparent, Memory Free
I Glue between Objects
Value Morpher
Image
Accumulator
Site Set
f Update
f get value
next
result
Query set value
take
12 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
RGB to Gray Implementation
( make−direct−value−morpher− imageimage( lambda ( g r a y ) ( v e c t o r g r a y g r a y g r a y ) )( lambda ( rgb ) (/ ( r e d u c e #’+ rgb ) 3 ) )
13 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
Content MorpherI Work on SetsI Restriction
Content Morpher
Restriction
f
Site Set
Site
Site
Site
Site
• Custom-shaped Site Set• Cropped Image
I Addition• Image Border
I Ordering14 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
Combination
Available Value Morphers
Available Content Morphers
Available Concrete Objects
Object 2
Object 1
I Possibilities: Combination of ...• Concrete Objects• Value Morpher• Content Morpher• Repetition
15 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
ErosionDefinitionNaive VersionGenericity IssuesFinal Version
MorpherMorpher DefinitionContent MorpherCombination
Demonstration
ConclusionConclusionQuestionsBibliography
16 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
Demonstration
( d e f p a r a m e t e r l e n a ( load− image ” l e n a . png” : magick ) )
( d e f p a r a m e t e r g r a y( make−direct−value−morpher− image l e n a
( lambda ( g r a y ) ( v e c t o r g r a y g r a y g r a y ) )( lambda ( rgb ) (/ ( r e d u c e #’+ rgb ) 3 ) ) ) )
( d e f p a r a m e t e r c8 ( make−box ( make−point −1 −1) ( make−point 1 1 ) ) )( d e f p a r a m e t e r c4 ( site−set−mask c8 #∗010111010))
( d e f p a r a m e t e r e r o ( e r o s i o n g r a y c4 ) )( d e f p a r a m e t e r d i l ( d i l a t i o n g r a y c4 ) )( d e f p a r a m e t e r d i f f ( image−combine−values #’− d i l e r o ) )
( d e f p a r a m e t e r f i n a l ( image−combine−values( lambda ( rgb edge )
( i f (> edge 50) ( v e c t o r 255 0 0) rgb ) )l e n a d i f f ) )
( save− image f i n a l ” f i n a l . png” : png )
Lena Gray Erosion Dilation Diff Final
17 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
ErosionDefinitionNaive VersionGenericity IssuesFinal Version
MorpherMorpher DefinitionContent MorpherCombination
Demonstration
ConclusionConclusionQuestionsBibliography
18 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
Conclusion
I Personal Additions:• Fusion of Olena Concepts with Functionnal and
Dynamic Programming• Developer Friendly
I Current• Basic Morphological Operators• Morpher System
I Future• Genericity on Value Types• More Algorithms and Image Types• Performance
19 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
Questions
Questions ?
20 / 21
logo
Climb
Erosion
Definition
Naive Version
Genericity Issues
Final Version
Morpher
Morpher Definition
Content Morpher
Combination
Demonstration
Conclusion
Conclusion
Questions
Bibliography
Bibliography
I Soille, P. (1999). Morphological Image Analysis -Principles and Applications. Springer-Verlag.
I Geraud, T. and Levillain, R. (2008). Semantics-drivengenericity: A sequel to the static c++ object-orientedprogramming paradigm (Scoop 2). In 6th InternationalWorkshop on Multiparadigm Programming withObject-Oriented Languages.
I Ballas, N. (2008). Image taxonomy in milena.Technical report, EPITA Research and DevelopmentLaboratory (LRDE).
I Denuziere, L. (2009). CLIMB: A dynamic approach togeneric image processing. Technical report, EPITAResearch and Development Laboratory (LRDE).
I Denuziere, L. (2010). Property-based genericity: Adynamic approach. Technical report, EPITA Researchand Development Laboratory (LRDE).
21 / 21