Live Photo Editing And RAW Processing With Core Image

3y ago
74 Views
3 Downloads
2.96 MB
310 Pages
Last View : 1m ago
Last Download : 3m ago
Upload by : Milo Davies
Transcription

Media#WWDC16Live Photo Editing and RAW Processingwith Core ImageSession 505David Hayward Pixel Perfectionist 2016 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission from Apple.

What You Will Learn TodayA very brief introduction to Core ImageAdjusting RAW images on iOSEditing Live PhotosExtending Core Image using CIImageProcessor

A Very Brief Introduction to Core Image

A Very Brief Introduction to Core ImageA simple, high-performance API to apply filters to imagesInput toWorking SpaceOriginal CIImageSepiaFilterHueFilterOutput CIImage

A Very Brief Introduction to Core ImageA simple, high-performance API to apply filters to imagesimage image.applyingFilter(Input toWorking rameters:["inputIntensity" : 1.0])Original CIImageOutput CIImage

A Very Brief Introduction to Core ImageA simple, high-performance API to apply filters to imagesInput toWorking SpaceOriginal CIImageSepiaFilterHueFilterOutput CIImage

A Very Brief Introduction to Core ImageA simple, high-performance API to apply filters to imagesInput toIWorking SpaceOriginal CIImageSepiaFilterHueFilterContrastFilterOWorking Spaceto OutputOutput CIImage

A Very Brief Introduction to Core ImageAutomatic color managementInput toWorking SpaceOriginal CIImageSepiaFilterHueFilterContrastFilterWorking Spaceto OutputOOutput CIImage

A Very Brief Introduction to Core ImageAutomatic color management Input toSepiaHueContrast Working SpaceWideimages andare common.WorkingSpacecolor FilterFilterdisplaysFilterto OutputOMost open-source image processing librariesdo not support color management.Original CIImageOutput CIImage

A Very Brief Introduction to Core ImageAutomatic color managementInput toWorking SpaceOriginal CIImageSepiaFilterHueFilterContrastFilterWorking Spaceto OutputOOutput CIImage

A Very Brief Introduction to Core ImageEach CIFilter has one or more CIKernel functionsInput toWorking SpaceSepiaFilterHueFilterContrastFilterOriginal CIImageWorking SpaceOto OutputOutput CIImagekernel vec4 sepia ()kernel vec4 hue ()kernel vec4 contrast ()

A Very Brief Introduction to Core ImageEach CIFilter has one or more CIKernel functionsInput toWorking erFilterOriginal CIImageOWorking Spaceto OutputOutput CIImagekernel vec4 sepia ()kernel vec4 hue ()kernel vec4 contrast ()

180 Built-In itePointAdjustXRayZoomBlur

New Built-In CIFiltersCIHueSaturationValueGradientNEW

New Built-In CIFiltersCIHueSaturationValueGradientNEW

New Built-In CIFiltersCINinePartStretched and CINinePartTiledNEW

New Built-In CIFiltersCINinePartStretched and CINinePartTiledNEW

New Built-In CIFiltersCINinePartStretched and CINinePartTiledNEW

New Built-In CIFiltersCIEdgePreserveUpsampleFilter6x7 Pixel InputNEW

New Built-In CIFiltersCIEdgePreserveUpsampleFilter 6x7 Pixel Input1024x768 Pixel GuideNEW

New Built-In CIFiltersNEWCIEdgePreserveUpsampleFilter 6x7 Pixel Input 1024x768 Pixel Guide1024x768 Pixel Result

New Built-In CIFiltersNEWCIEdgePreserveUpsampleFilter 6x7 Pixel Input 1024x768 Pixel Guide1024x768 Pixel Result

New Performance ControlsMetal on by defaultNEW

New Performance ControlsMetal on by defaultNow UIImage(ciImage:) is much fasterNEW

New Performance ControlsMetal on by defaultNow UIImage(ciImage:) is much fasterCore Image supports input and output of half-float CGImageRefsNEW

New Performance ControlsNEWMetal on by defaultNow UIImage(ciImage:) is much fasterCore Image supports input and output of half-float CGImageRefsPixel FormatBytes Per PixelBit DepthRangeQuantizationRGBA8480 1linear

New Performance ControlsNEWMetal on by defaultNow UIImage(ciImage:) is much fasterCore Image supports input and output of half-float CGImageRefsPixel FormatBytes Per PixelBit DepthRangeQuantizationRGBA8480 1linearRGBAf1624–1038 1038logarithmic

New Performance ControlsNEWMetal on by defaultNow UIImage(ciImage:) is much fasterCore Image supports input and output of half-float CGImageRefsPixel FormatBytes Per PixelBit DepthRangeQuantizationRGBA8480 1linearRGBAf1624–1038 1038logarithmicRGBAh810–65519 65519logarithmic

New Performance ControlsNEWMetal on by defaultNow UIImage(ciImage:) is much fasterCore Image supports input and output of half-float CGImageRefsPixel FormatBytes Per PixelBit DepthRangeQuantizationRGBA8480 1linearRGBAf1624–1038 1038logarithmicRGBAh810–65519 t410–0.37 1.62gamma’d

Adjusting RAW Images with Core Image

Adjusting RAW Images with Core ImageWhat is a RAW fileUsing the CIRAWFilter APISupporting wide-gamut outputManaging memory

Adjusting RAW ImagesWhat is a RAW file

Adjusting RAW ImagesWhat is a RAW fileMost cameras use a color filter arrayand a sensor arrayColor Filter ArraySensor Array

Adjusting RAW ImagesWhat is a RAW fileLight from SceneMost cameras use a color filter arrayand a sensor arrayPhotons from the scene pass through thefilter and are counted by the sensorColor Filter ArraySensor Array

Adjusting RAW ImagesWhat is a RAW fileMost cameras use a color filter arrayand a sensor arrayPhotons from the scene pass through thefilter and are counted by the sensor

Adjusting RAW ImagesWhat is a RAW fileMost cameras use a color filter arrayand a sensor arrayPhotons from the scene pass through thefilter and are counted by the sensor

Adjusting RAW ImagesWhat is a RAW fileMost cameras use a color filter arrayand a sensor arrayPhotons from the scene pass through thefilter and are counted by the sensorAdvanced image processing is required todevelop the RAW sensor data into an imagesuitable for output

Adjusting RAW ImagesWhat is a RAW fileMost cameras use a color filter arrayand a sensor arrayPhotons from the scene pass through thefilter and are counted by the sensorAdvanced image processing is required todevelop the RAW sensor data into an imagesuitable for output

Adjusting RAW ImagesWhat is a RAW file

Adjusting RAW ImagesWhat is a RAW fileRAW files store unprocessed scene data

Adjusting RAW ImagesWhat is a RAW fileRAW files store unprocessed scene dataJPG files store processed output images

Adjusting RAW ImagesWhat is a RAW fileJPG files store processed output images

Adjusting RAW ImagesWhat is a RAW file

Adjusting RAW ImagesStages of RAW image processing

Adjusting RAW ImagesStages of RAW image processingExtract critical metadata

Adjusting RAW ImagesStages of RAW image processingExtract critical metadataDecode RAW sensor image

Adjusting RAW ImagesStages of RAW image processingExtract critical metadataDecode RAW sensor imageDe-mosaic reconstruction

Adjusting RAW ImagesStages of RAW image processingExtract critical metadataDecode RAW sensor imageDe-mosaic reconstructionApply lens correction

Adjusting RAW ImagesStages of RAW image processingExtract critical metadataDecode RAW sensor imageDe-mosaic reconstructionApply lens correctionReduce noise

Adjusting RAW ImagesStages of RAW image processingExtract critical metadataDecode RAW sensor imageDe-mosaic reconstructionApply lens correctionReduce noiseColor-match scene-referred sensor valuesto output-referred color space

Adjusting RAW ImagesStages of RAW image processingExtract critical metadataDecode RAW sensor imageDe-mosaic reconstructionApply lens correctionReduce noiseColor-match scene-referred sensor valuesto output-referred color spaceAdjust exposure and temperature/tint

Adjusting RAW ImagesStages of RAW image processingExtract critical metadataDecode RAW sensor imageDe-mosaic reconstructionApply lens correctionReduce noiseColor-match scene-referred sensor valuesto output-referred color spaceAdjust exposure and temperature/tintAdd sharpening, contrast, and saturation

Adjusting RAW ImagesAdvantages of RAW

Adjusting RAW ImagesAdvantages of RAWContains linear and deep pixel data which enables great editability

Adjusting RAW ImagesAdvantages of RAWContains linear and deep pixel data which enables great editabilityImage processing gets better every year

Adjusting RAW ImagesAdvantages of RAWContains linear and deep pixel data which enables great editabilityImage processing gets better every yearCan be rendered to any color space

Adjusting RAW ImagesAdvantages of RAWContains linear and deep pixel data which enables great editabilityImage processing gets better every yearCan be rendered to any color spaceUsers can use different software to interpret the image

Adjusting RAW ImagesAdvantages of JPEG

Adjusting RAW ImagesAdvantages of JPEGFast to load and display

Adjusting RAW ImagesAdvantages of JPEGFast to load and displayContains colors targeting a specific color space

Adjusting RAW ImagesAdvantages of JPEGFast to load and displayContains colors targeting a specific color spacePredictable results

Adjusting RAW ImagesAdvantages of JPEGFast to load and displayContains colors targeting a specific color spacePredictable resultsCameras can provide a great default image for display

Adjusting RAW ImagesAdvantages of JPEGFast to load and displayContains colors targeting a specific color spacePredictable resultsCameras can provide a great default image for display iOS cameras are a good example of this

Adjusting RAW ImagesPlatform support

Adjusting RAW ImagesPlatform supportNow Core Image fully supports RAW on iOS and tvOS

Adjusting RAW ImagesPlatform supportNow Core Image fully supports RAW on iOS and tvOS Supports over 400 unique camera models from 16 vendors

Adjusting RAW ImagesPlatform supportNow Core Image fully supports RAW on iOS and tvOS Supports over 400 unique camera models from 16 vendors Also supports DNG files captured from iOS devices

Adjusting RAW ImagesPlatform supportNow Core Image fully supports RAW on iOS and tvOS Supports over 400 unique camera models from 16 vendors Also supports DNG files captured from iOS devices- iSight cameras on iPhone 6S, iPhone 6S Plus, iPhone SE, iPad Pro (9.7-inch)

Adjusting RAW ImagesPlatform supportNow Core Image fully supports RAW on iOS and tvOS Supports over 400 unique camera models from 16 vendors Also supports DNG files captured from iOS devices- iSight cameras on iPhone 6S, iPhone 6S Plus, iPhone SE, iPad Pro (9.7-inch)Advances in iOS PhotographyPacific HeightsTuesday 11:00AM

Adjusting RAW ImagesPlatform supportNow Core Image fully supports RAW on iOS and tvOS Supports over 400 unique camera models from 16 vendors Also supports DNG files captured from iOS devices- iSight cameras on iPhone 6S, iPhone 6S Plus, iPhone SE, iPad Pro (9.7-inch) The same high-performance RAW pipeline as on macOSAdvances in iOS PhotographyPacific HeightsTuesday 11:00AM

Adjusting RAW ImagesPlatform supportNow Core Image fully supports RAW on iOS and tvOS Supports over 400 unique camera models from 16 vendors Also supports DNG files captured from iOS devices- iSight cameras on iPhone 6S, iPhone 6S Plus, iPhone SE, iPad Pro (9.7-inch) The same high-performance RAW pipeline as on macOS Requires A8 or newer processor (iOS GPU Family 2)Advances in iOS PhotographyPacific HeightsTuesday 11:00AM

Adjusting RAW ImagesPlatform support

Adjusting RAW ImagesPlatform supportWe continuously add support for cameras and improve quality

Adjusting RAW ImagesPlatform supportWe continuously add support for cameras and improve quality New cameras are added in software updates

Adjusting RAW ImagesPlatform supportWe continuously add support for cameras and improve quality New cameras are added in software updates Pipeline improvements are versioned

DemoAdjusting images on iOS

Adjusting RAW ImagesCIRAWFilter API lets you control the stagesCIRAWFilter gives your application:

Adjusting RAW ImagesCIRAWFilter API lets you control the stagesCIRAWFilter gives your application: CIImage with wide gamut, extended range, half-float precision

Adjusting RAW ImagesCIRAWFilter API lets you control the stagesCIRAWFilter gives your application: CIImage with wide gamut, extended range, half-float precision Easy control over RAW processing parameters

Adjusting RAW ImagesCIRAWFilter API lets you control the stagesCIRAWFilter gives your application: CIImage with wide gamut, extended range, half-float precision Easy control over RAW processing parameters Fast, interactive performance using GPU

Adjusting RAW ImagesUsing the CIRAWFilter APIRAW Image File File URL File data CVPixelBuffer

Adjusting RAW ImagesUsing the CIRAWFilter APIRAW Image File File URL File data CVPixelBufferCIRAWFilter

Adjusting RAW ImagesUsing the CIRAWFilter APIRAW Image File File URL File data CVPixelBufferUser Adjustments Exposure Temperature, tint Noise reductionCIRAWFilter

Adjusting RAW ImagesUsing the CIRAWFilter APIRAW Image File File URL File data CVPixelBufferUser Adjustments Exposure Temperature, tint Noise reductionCIRAWFilterCIImage

// Using the CIRAWFilter APIfunc getAdjustedRAW(url: URL) - CIImage?{// Load the imagelet f CIFilter(imageURL: url, options:nil)// Get the NR amountif let nr f.value(forKey: kCIInputLuminanceNoiseReductionAmountKey) {// Change the NR amountf.setValue(nr.doubleValue 0.1,forKey: kCIInputLuminanceNoiseReductionAmountKey)}// Get the adjusted imagereturn f.outputImage}

// Using the CIRAWFilter APIfunc getAdjustedRAW(url: URL) - CIImage?{// Load the imagelet f CIFilter(imageURL: url, options:nil)// Get the NR amountif let nr f.value(forKey: kCIInputLuminanceNoiseReductionAmountKey) {// Change the NR amountf.setValue(nr.doubleValue 0.1,forKey: kCIInputLuminanceNoiseReductionAmountKey)}// Get the adjusted imagereturn f.outputImage}

// Using the CIRAWFilter APIfunc getAdjustedRAW(url: URL) - CIImage?{// Load the imagelet f CIFilter(imageURL: url, options:nil)// Get the NR amountif let nr f.value(forKey: kCIInputLuminanceNoiseReductionAmountKey) {// Change the NR amountf.setValue(nr.doubleValue 0.1,forKey: kCIInputLuminanceNoiseReductionAmountKey)}// Get the adjusted imagereturn f.outputImage}

// Using the CIRAWFilter APIfunc getAdjustedRAW(url: URL) - CIImage?{// Load the imagelet f CIFilter(imageURL: url, options:nil)// Get the NR amountif let nr f.value(forKey: kCIInputLuminanceNoiseReductionAmountKey) {// Change the NR amountf.setValue(nr.doubleValue 0.1,forKey: kCIInputLuminanceNoiseReductionAmountKey)}// Get the adjusted imagereturn f.outputImage}

// Using the CIRAWFilter APIfunc getAdjustedRAW(url: URL) - CIImage?{// Load the imagelet f CIFilter(imageURL: url, options:nil)// Get the NR amountif let nr f.value(forKey: kCIInputLuminanceNoiseReductionAmountKey) {// Change the NR amountf.setValue(nr.doubleValue 0.1,forKey: kCIInputLuminanceNoiseReductionAmountKey)}// Get the adjusted imagereturn f.outputImage}

// Using the CIRAWFilter APIfunc getAdjustedRAW(url: URL) - CIImage?{// Load the imagelet f CIFilter(imageURL: url, options:nil)// Get the NR amountif let nr f.value(forKey: kCIInputLuminanceNoiseReductionAmountKey) {// Change the NR amountf.setValue(nr.doubleValue 0.1,forKey: kCIInputLuminanceNoiseReductionAmountKey)}// Get the adjusted imagereturn f.outputImage}

Adjusting RAW ImagesUsing the CIRAWFilter APIRAW Image File File URL File data CVPixelBufferUser Adjustments Exposure Temperature, tint Noise reductionCIRAWFilterCIImage

Adjusting RAW ImagesUsing the CIRAWFilter APIRAW Image File File URL File data CVPixelBufferUser Adjustments Exposure Temperature, tint Noise reductionCIRAWFilterCIImage

Adjusting RAW ImagesUsing the CIRAWFilter APIRAW Image File File URL File data CVPixelBufferUser Adjustments Exposure Temperature, tint Noise reductionCIRAWFilterCIImage

Adjusting RAW ImagesUsing the CIRAWFilter APIRAW Image File File URL File data CVPixelBufferUser Adjustments Exposure Temperature, tint Noise reductionCIRAWFilterCIImage

Adjusting RAW ImagesUsing the CIRAWFilter APIRAW Image File File URL File data CVPixelBufferUser Adjustments Exposure Temperature, tint Noise reductionCIRAWFilterCIImage

Adjusting RAW ImagesUsing the CIRAWFilter APIRAW Image File File URL File data CVPixelBufferUser Adjustments Exposure Temperature, tint Noise reductionCIRAWFilterCIImage

Adjusting RAW ImagesUsing the CIRAWFilter APIRAW Image File File URL File data CVPixelBufferUser Adjustments Exposure Temperature, tint Noise reductionCIRAWFilterCIImage

Adjusting RAW ImagesUsing the CIRAWFilter APIRAW Image File File URL File data CVPixelBufferUser Adjustments Exposure Temperature, tint Noise reductionCIRAWFilterCIImageCGImage

Adjusting RAW ImagesUsing the CIRAWFilter APIRAW Image File File URL File data CVPixelBufferCIRAWFilterCIImageCGImageUser Adjustments Exposure Temperature, tint Noise reductionOutput Image(JPG, TIF, )

// Saving a RAW to a JPEG or TIFFclass myClass {lazy var contextForSaving: CIContext CIContext(options:[kCIContextCacheIntermediates : false,kCIContextPriorityRequestLow : true]) // Now this works on macOS

Platform support Adjusting RAW Images Now Core Image fully supports RAW on iOS and tvOS Supports over 400 unique camera models from 16 vendors Also supports DNG files captured from iOS devices-iSight cameras on iPhone 6S, iPhone 6S Plus, iPhone SE, iPad Pro (9.7-inch) The same high-performance RAW pipeline as on macOS Advances in iOS Photography Pacific Heights Tuesday 11:00AM

Related Documents:

La Crosse Public Library Introduction to Pixlr: Basic Photo Editing page 1 Pixlr: Basic Photo Editing When starting at Pixlr.com you have two options for editing or creating pictures. Pixlr Editor is a full-featured photo editing suite and Pixlr Express is a streamlined editor with less features but is still useful for quick changes. Both are

*George Washington Carver had a strong faith in God. Photo 1 Photo 2 Letter 1 Letter 2 Letter 3 Letter 4 *George Washington Carver was resourceful and did not waste. Photo 1 Photo 2 Photo 3 Letter 1 Letter 2 Letter 3 *George Washington Carver was a Humanitarian. Photo 1 Photo 2 Photo 3 Photo 4

Horizon 2020 . Raw Materials . updated 20 CRMs in 2014 EU Raw Materials Framework . Raw Materials Critical raw materials 2014 . SME Instrument FTI-pilot ERA-MIN 2 EIT Raw Materials . ENTR G3 Raw Materials P

and facilitates various editing operations, such as painting, copy-pasting, and relighting. Our work was inspired, in part, by the simplicity and versatility of popular photo-editing packages, such as Adobe Photoshop. Such tools afford a powerful means of altering the appearance of an im-age via simple and intuitive editing operations. A photo .

from: howstuffworks.com Inside This Article 1. Introduction to How Video Editing Works 2. Digital Camcorders 3. Video-Editing Computers 4. Video Editing: Basic Concepts 5. Running Adobe Premiere 6. Editing a Video: Capture and Clips 7. Editing a Video: Timeline and Transit

Perfection 1660 Photo and 2400 Photo: Width: 27.6 cm (10.9 in) Depth: 45.0 cm (17.7 in) Height: 11.6 cm (4.6 in) Weight Perfection 1260 and 1260 Photo: 2.5 kg (5.5 lb) Perfection 1660 Photo and 2400 Photo: 3.1 kg (6.8 lb) Electrical Input voltage range* Perfection 1260 and 1260 Photo: DC 15.2 V Perfection 1660 Photo and 2400 Photo: DC 24 V

OS 149 11 Basketball Team Photo 1941-1942 OS 149 12 Basketball Team Photo 1942-1943 OS 149 13 Basketball Team Photo 1943-1944 OS 149 14 Basketball Team Photo 1945-1946 OS 150 1 Basketball Team Photo 1946-1947 OS 150 2 Basketball Team Photo 1947-1948 OS 150 3 Basketball Team Photo 1949-1950 OS 150 4 Basketball Team Photo 1952-1953

Introduction Description logics (DLs) are a prominent family of logic-based formalisms for the representation of and reasoning about conceptual knowledge (Baader et al. 2003). In DLs, concepts are used to describe classes of individuals sharing common properties. For example, the following concept de-scribes the class of all parents with only happy children: Personu has-child.Personu has .