Your SlideShare is downloading. ×
0
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Climb - A Generic and Dynamic Approach to Image Processing
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Climb - A Generic and Dynamic Approach to Image Processing

1,029

Published on

LRDE (EPITA Research & Development Lab http://www.lrde.epita.fr/) Seminar: A Generic and Dynamic Approach to Image Processing …

LRDE (EPITA Research & Development Lab http://www.lrde.epita.fr/) Seminar: A Generic and Dynamic Approach to Image Processing

Abstract: "Climb is a generic image processing library. A case study of the erosion algorithm from mathematical morphology highlights the issues of a non-generic implementation. Structures such as Image, Site Set and Accumulator are defined to solve them. Genericity is even increased by the concept of Morphers: a way to alter the communication between an object and the outside world. All these additions are done using the dynamic aspect of Lisp that allows for rapid prototyping."

Olena - http://olena.lrde.epita.fr/

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,029
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

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

×