SlideShare a Scribd company logo
Arfunkel:
Functions for Art
Creative Coding Amsterdam
18 February 2016
Eelco den Heijer
Introduction
•Arfunkel : Art Functions
•Functions on Images
•Generative Art
•Building Blocks
•Not a Tool: Framework
Me
•Programmer (mainly Java), Creative Coder
•Many projects on Creative Coding
•PhD on Evolutionary Art (2013,CS,VU)
•Studio Heist
•Also like Music Technology (electronic
music, generative music, coding…)
Functions on Images
create
filter
blend
split
terminate
Functions on Functions
•or: Higher Order Functions
•Repeat/ loop (e.g. kaleidoscope)
•If/then/else
•Etc.
blending pixels
• each pixel consists of 3 components: R,G,B
• RGB is a colour space or colour model
• Colour space = way to organize or order colors
• Well-known colour spaces: RGB, HSV/HSB, HSL,
CMYK, YIC, CIEXYZ, CIELUV,CIELAB etc.
Blending: how?
• Blend 2 images:
• Iterate over all pixels (x,y):
• Pixel p1 from image 1, Pixel p2 from image 2:
• Take RGB from both pixels
• Convert to HSV (or any other colour space)
• apply function fi to each channel i (e.g. average,
min, max, left, right, etc) : vi=fi(ci1,ci2); see next
slide for more details
• Convert back to RGB
Example
• Colour space = HSV
• Components c1,c2,c3=Hue, Saturation, Value
• functions: f1,f2,f3=min, max, avg
• New pixel:
• huenew=min(hue1,hue2)
• satnew=max(sat1,sat2)
• valnew=avg(val1,val2)
• Convert from hsv back to RGB
Recolouring
• Changing the colours in an image
• Used for image repair, fixing lighting issues, or artistic
purposes
• Several algorithms possible, often with source image and
target image
• Channel shift algorithm
• Convert RGB to HSV (or any other colour space)
• Take value of each channel, shift predefined value
• Ensure you do not cross boundary values
RGB
HSV
CIELAB
Mirroring
• Simple horizontal, vertical mirror
• Sort of Kaleidoscope effect
Misc
•Several standard, ‘bread and butter’ filters;
•Solarize
•Blur
•Posterize
•Image Segmentation
Workflow ex. 1
Get Image
Get Image
Blend Recolour Solarize
Workflow ex. 2
Get Image
Get Image
Blend
Recolour
Mirror
Left/Right
Recolour
Conclusions & Future work
• First Scala, now Java 8
• Heavy use of ‘lambdas’
• Pretty flexible, still prototype
• More weird recolouring (colour transfer)
• Higher order functions
• Colouring (grayscale to colour)
• Grammar; Little Language (my own Processing)
• REPL: Read-Eval-Print Loop
Questions?
@eelcodenheijer
Tumblr: eelcodenheijer
eelcodenheijer@gmail.com

More Related Content

Viewers also liked

What is Art?
What is Art?What is Art?
What is Art?
Gary Freeman
 
Color Theory Book
Color Theory BookColor Theory Book
Color Theory Book
Nancy Smedley Gleason
 
Color Theory
Color TheoryColor Theory
Color Theory
Kabir Malkani
 
Color theory - Graphic Design
Color theory - Graphic DesignColor theory - Graphic Design
Color theory - Graphic Design
Abanoub Hanna
 
Understanding Color
Understanding ColorUnderstanding Color
Understanding Color
Jennifer Janviere
 

Viewers also liked (6)

What is Art?
What is Art?What is Art?
What is Art?
 
Color Theory Book
Color Theory BookColor Theory Book
Color Theory Book
 
Color Powerpoint
Color PowerpointColor Powerpoint
Color Powerpoint
 
Color Theory
Color TheoryColor Theory
Color Theory
 
Color theory - Graphic Design
Color theory - Graphic DesignColor theory - Graphic Design
Color theory - Graphic Design
 
Understanding Color
Understanding ColorUnderstanding Color
Understanding Color
 

Similar to Arfunkel - Functions for Art

Creative Coding Utrecht CCU0++
Creative Coding Utrecht CCU0++Creative Coding Utrecht CCU0++
Creative Coding Utrecht CCU0++
Eelco den Heijer
 
Paris Master Class 2011 - 05 Post-Processing Pipeline
Paris Master Class 2011 - 05 Post-Processing PipelineParis Master Class 2011 - 05 Post-Processing Pipeline
Paris Master Class 2011 - 05 Post-Processing Pipeline
Wolfgang Engel
 
november29.ppt
november29.pptnovember29.ppt
november29.ppt
CharlesMatu2
 
Introduction to Computer Vision (uapycon 2017)
Introduction to Computer Vision (uapycon 2017)Introduction to Computer Vision (uapycon 2017)
Introduction to Computer Vision (uapycon 2017)
Anton Kasyanov
 
A modern Post-Processing Pipeline
A modern Post-Processing PipelineA modern Post-Processing Pipeline
A modern Post-Processing Pipeline
Wolfgang Engel
 
A new Post-Processing Pipeline
A new Post-Processing PipelineA new Post-Processing Pipeline
A new Post-Processing Pipeline
Wolfgang Engel
 
Graphical Programming
Graphical ProgrammingGraphical Programming
Graphical Programming
Gaditek
 
Color Models.pptx
Color Models.pptxColor Models.pptx
Color Models.pptx
ssuser9203ca
 

Similar to Arfunkel - Functions for Art (8)

Creative Coding Utrecht CCU0++
Creative Coding Utrecht CCU0++Creative Coding Utrecht CCU0++
Creative Coding Utrecht CCU0++
 
Paris Master Class 2011 - 05 Post-Processing Pipeline
Paris Master Class 2011 - 05 Post-Processing PipelineParis Master Class 2011 - 05 Post-Processing Pipeline
Paris Master Class 2011 - 05 Post-Processing Pipeline
 
november29.ppt
november29.pptnovember29.ppt
november29.ppt
 
Introduction to Computer Vision (uapycon 2017)
Introduction to Computer Vision (uapycon 2017)Introduction to Computer Vision (uapycon 2017)
Introduction to Computer Vision (uapycon 2017)
 
A modern Post-Processing Pipeline
A modern Post-Processing PipelineA modern Post-Processing Pipeline
A modern Post-Processing Pipeline
 
A new Post-Processing Pipeline
A new Post-Processing PipelineA new Post-Processing Pipeline
A new Post-Processing Pipeline
 
Graphical Programming
Graphical ProgrammingGraphical Programming
Graphical Programming
 
Color Models.pptx
Color Models.pptxColor Models.pptx
Color Models.pptx
 

More from Eelco den Heijer

AI, Creativity and Generative Art
AI, Creativity and Generative ArtAI, Creativity and Generative Art
AI, Creativity and Generative Art
Eelco den Heijer
 
Explorations in Creative Coding
Explorations in Creative CodingExplorations in Creative Coding
Explorations in Creative Coding
Eelco den Heijer
 
Evolving art using measures for symmetry, compositional balance and liveliness
Evolving art using measures for symmetry, compositional balance and livelinessEvolving art using measures for symmetry, compositional balance and liveliness
Evolving art using measures for symmetry, compositional balance and liveliness
Eelco den Heijer
 
Evolving Glitch Art
Evolving Glitch ArtEvolving Glitch Art
Evolving Glitch Art
Eelco den Heijer
 
Computerkunst: Science Fiction of werkelijkheid?
Computerkunst: Science Fiction  of werkelijkheid?Computerkunst: Science Fiction  of werkelijkheid?
Computerkunst: Science Fiction of werkelijkheid?
Eelco den Heijer
 
Evaluating Art by measuring Complexity
Evaluating Art by measuring ComplexityEvaluating Art by measuring Complexity
Evaluating Art by measuring Complexity
Eelco den Heijer
 

More from Eelco den Heijer (6)

AI, Creativity and Generative Art
AI, Creativity and Generative ArtAI, Creativity and Generative Art
AI, Creativity and Generative Art
 
Explorations in Creative Coding
Explorations in Creative CodingExplorations in Creative Coding
Explorations in Creative Coding
 
Evolving art using measures for symmetry, compositional balance and liveliness
Evolving art using measures for symmetry, compositional balance and livelinessEvolving art using measures for symmetry, compositional balance and liveliness
Evolving art using measures for symmetry, compositional balance and liveliness
 
Evolving Glitch Art
Evolving Glitch ArtEvolving Glitch Art
Evolving Glitch Art
 
Computerkunst: Science Fiction of werkelijkheid?
Computerkunst: Science Fiction  of werkelijkheid?Computerkunst: Science Fiction  of werkelijkheid?
Computerkunst: Science Fiction of werkelijkheid?
 
Evaluating Art by measuring Complexity
Evaluating Art by measuring ComplexityEvaluating Art by measuring Complexity
Evaluating Art by measuring Complexity
 

Recently uploaded

BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
Ortus Solutions, Corp
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
wottaspaceseo
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Jay Das
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
Globus
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
Srikant77
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
Cyanic lab
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
Globus
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
AMB-Review
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
informapgpstrackings
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Globus
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
XfilesPro
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
takuyayamamoto1800
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 

Recently uploaded (20)

BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024BoxLang: Review our Visionary Licenses of 2024
BoxLang: Review our Visionary Licenses of 2024
 
How Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptxHow Recreation Management Software Can Streamline Your Operations.pptx
How Recreation Management Software Can Streamline Your Operations.pptx
 
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdfEnhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
Enhancing Project Management Efficiency_ Leveraging AI Tools like ChatGPT.pdf
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
GlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote sessionGlobusWorld 2024 Opening Keynote session
GlobusWorld 2024 Opening Keynote session
 
RISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent EnterpriseRISE with SAP and Journey to the Intelligent Enterprise
RISE with SAP and Journey to the Intelligent Enterprise
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
Cyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdfCyaniclab : Software Development Agency Portfolio.pdf
Cyaniclab : Software Development Agency Portfolio.pdf
 
Understanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSageUnderstanding Globus Data Transfers with NetSage
Understanding Globus Data Transfers with NetSage
 
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdfDominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
Dominate Social Media with TubeTrivia AI’s Addictive Quiz Videos.pdf
 
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
Field Employee Tracking System| MiTrack App| Best Employee Tracking Solution|...
 
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
Climate Science Flows: Enabling Petabyte-Scale Climate Analysis with the Eart...
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, BetterWebinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
Webinar: Salesforce Document Management 2.0 - Smarter, Faster, Better
 
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoamOpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
OpenFOAM solver for Helmholtz equation, helmholtzFoam / helmholtzBubbleFoam
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 

Arfunkel - Functions for Art

  • 1. Arfunkel: Functions for Art Creative Coding Amsterdam 18 February 2016 Eelco den Heijer
  • 2. Introduction •Arfunkel : Art Functions •Functions on Images •Generative Art •Building Blocks •Not a Tool: Framework
  • 3. Me •Programmer (mainly Java), Creative Coder •Many projects on Creative Coding •PhD on Evolutionary Art (2013,CS,VU) •Studio Heist •Also like Music Technology (electronic music, generative music, coding…)
  • 6. Functions on Functions •or: Higher Order Functions •Repeat/ loop (e.g. kaleidoscope) •If/then/else •Etc.
  • 7. blending pixels • each pixel consists of 3 components: R,G,B • RGB is a colour space or colour model • Colour space = way to organize or order colors • Well-known colour spaces: RGB, HSV/HSB, HSL, CMYK, YIC, CIEXYZ, CIELUV,CIELAB etc.
  • 8.
  • 9. Blending: how? • Blend 2 images: • Iterate over all pixels (x,y): • Pixel p1 from image 1, Pixel p2 from image 2: • Take RGB from both pixels • Convert to HSV (or any other colour space) • apply function fi to each channel i (e.g. average, min, max, left, right, etc) : vi=fi(ci1,ci2); see next slide for more details • Convert back to RGB
  • 10. Example • Colour space = HSV • Components c1,c2,c3=Hue, Saturation, Value • functions: f1,f2,f3=min, max, avg • New pixel: • huenew=min(hue1,hue2) • satnew=max(sat1,sat2) • valnew=avg(val1,val2) • Convert from hsv back to RGB
  • 11.
  • 12. Recolouring • Changing the colours in an image • Used for image repair, fixing lighting issues, or artistic purposes • Several algorithms possible, often with source image and target image • Channel shift algorithm • Convert RGB to HSV (or any other colour space) • Take value of each channel, shift predefined value • Ensure you do not cross boundary values
  • 14. Mirroring • Simple horizontal, vertical mirror • Sort of Kaleidoscope effect
  • 15. Misc •Several standard, ‘bread and butter’ filters; •Solarize •Blur •Posterize •Image Segmentation
  • 16.
  • 17.
  • 18. Workflow ex. 1 Get Image Get Image Blend Recolour Solarize
  • 19. Workflow ex. 2 Get Image Get Image Blend Recolour Mirror Left/Right Recolour
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26. Conclusions & Future work • First Scala, now Java 8 • Heavy use of ‘lambdas’ • Pretty flexible, still prototype • More weird recolouring (colour transfer) • Higher order functions • Colouring (grayscale to colour) • Grammar; Little Language (my own Processing) • REPL: Read-Eval-Print Loop