... | ... | @@ -214,23 +214,23 @@ The following json object is everything needed to define the filter chain manage |
|
|
|
|
|
The filter graph for the above filter chain looks like:
|
|
|
|
|
|
![Filter Graph](../raw/master/wiki-images/FilterGraph.jpg "The filter graph for the above json object filter chain representation.")
|
|
|
![Filter Graph](https://gitlab.com/ktam/using-movingimages/raw/master/wiki-images/FilterGraph.jpg "The filter graph for the above json object filter chain representation.")
|
|
|
|
|
|
I'm going to show what the output looks like at each of the stages of the above filter chain so you can see how the final result is built up from the intermediate steps. The radial gradient filter generates an image that has infinite extent. To produce a usable image it is followed by the crop filter. The result of the two filters is:
|
|
|
|
|
|
![CIRadialGradient CICrop](../raw/master/wiki-images/ShadedSphere.jpg "An image produced by using Core Image's radial gradient and crop filters.")
|
|
|
![CIRadialGradient CICrop](https://gitlab.com/ktam/using-movingimages/raw/master/wiki-images/ShadedSphere.jpg "An image produced by using Core Image's radial gradient and crop filters.")
|
|
|
|
|
|
The input mask image provided to the CIHeightFieldFromMask filter is below, followed by the output image of the CIHeightFieldFromMask filter:
|
|
|
|
|
|
![Mask Image](../raw/master/coreimage/images/embossmask/MovingImagesMaskSmall.png "An image used as input for demonstrating the height field and shaded material filters.") ![Generated height field image](../raw/master/wiki-images/HeightField.jpg "The height field image generated by the CIHeightFieldFromMask filter applied to the mask.")
|
|
|
![Mask Image](https://gitlab.com/ktam/using-movingimages/raw/master/coreimage/images/embossmask/MovingImagesMaskSmall.png "An image used as input for demonstrating the height field and shaded material filters.") ![Generated height field image](https://gitlab.com/ktam/using-movingimages/raw/master/wiki-images/HeightField.jpg "The height field image generated by the CIHeightFieldFromMask filter applied to the mask.")
|
|
|
|
|
|
The shaded material core image filter takes two images. The inputImage is the height field image, and the inputShadingImage is the generated radial gradient image. The next image is the application of the shaded material filter with a inputScale value of 16.0 and that is followed by the image generated from the bump distortion filter:
|
|
|
|
|
|
![Embossed image](../raw/master/wiki-images/EmbossedImage.jpg "An embossed image generated from a height field image and a shading image.") ![Embossed image with bump distortion](../raw/master/wiki-images/BumpDistortionEmbossedImage.jpg "An embossed image with a bump distortion filter applied.")
|
|
|
![Embossed image](https://gitlab.com/ktam/using-movingimages/raw/master/wiki-images/EmbossedImage.jpg "An embossed image generated from a height field image and a shading image.") ![Embossed image with bump distortion](https://gitlab.com/ktam/using-movingimages/raw/master/wiki-images/BumpDistortionEmbossedImage.jpg "An embossed image with a bump distortion filter applied.")
|
|
|
|
|
|
After this I took advantage of other features of Moving Images. I generated multiple images with a varying input for the bump distortion filter. Each of these images was added to a image exporter object and when all images were generated the image sequence was saved as gif animation. This is all done using the [embossmask](../blob/master/miscellaneous/scripts/embossmask) script. Here is the resulting gif animation:
|
|
|
After this I took advantage of other features of Moving Images. I generated multiple images with a varying input for the bump distortion filter. Each of these images was added to a image exporter object and when all images were generated the image sequence was saved as gif animation. This is all done using the [embossmask](https://gitlab.com/ktam/using-movingimages/blob/master/miscellaneous/scripts/embossmask) script. Here is the resulting gif animation:
|
|
|
|
|
|
![Bump distortion gif animation](../raw/master/wiki-images/EmbossedBumpDistortionAnimation.gif "An embossed bump distortion image animation.")
|
|
|
![Bump distortion gif animation](https://gitlab.com/ktam/using-movingimages/raw/master/wiki-images/EmbossedBumpDistortionAnimation.gif "An embossed bump distortion image animation.")
|
|
|
|
|
|
### Providing input images
|
|
|
|
... | ... | @@ -395,7 +395,7 @@ Creating an image filter chain object with the property list dictionary defined |
|
|
|
|
|
The examples for using the image filter chain scripts assumes that the scripts are in a folder that is in your PATH.
|
|
|
|
|
|
There are four scripts that come with Moving Images for applying core image filters to images. They are the [coreimageblend](../blob/master/miscellaneous/scripts/coreimageblend), [simplesinglecifilter](../blob/master/miscellaneous/scripts/simplesinglecifilter), [dotransition](../blob/master/miscellaneous/scripts/dotransition) and [embossmask](../blob/master/miscellaneous/scripts/embossmask). All these scripts take the command line switch --help which returns information about how to use the script.
|
|
|
There are four scripts that come with Moving Images for applying core image filters to images. They are the [coreimageblend](https://gitlab.com/ktam/using-movingimages/blob/master/miscellaneous/scripts/coreimageblend), [simplesinglecifilter](https://gitlab.com/ktam/using-movingimages/blob/master/miscellaneous/scripts/simplesinglecifilter), [dotransition](https://gitlab.com/ktam/using-movingimages/blob/master/miscellaneous/scripts/dotransition) and [embossmask](https://gitlab.com/ktam/using-movingimages/blob/master/miscellaneous/scripts/embossmask). All these scripts take the command line switch --help which returns information about how to use the script.
|
|
|
|
|
|
coreimageblend --help
|
|
|
|
... | ... | @@ -480,7 +480,7 @@ One example of the use of the dotransition script is, though you'll need to upda |
|
|
|
|
|
dotransition --count 30 --sourceimage "~/Desktop/exampleimages/DSCN0744.JPG" --destinationimage "~/Desktop/exampleimages/DSCN0746.JPG" --transitionfilter CIFlashTransition --striationstrength 0.8 --color 1.0,0.4,0.1,1.0 --fadethreshold 0.7 --extent 0,0,908,681 --center 454,340 --striationcontrast 1.375 --outputdir "~/Desktop/junkimages/flashtransition" --basename Flash --outputfiletype public.jpeg --verbose
|
|
|
|
|
|
[Examples for using all the core image transition filters](../blob/master/coreimage/transitioncommands.sh)
|
|
|
[Examples for using all the core image transition filters](https://gitlab.com/ktam/using-movingimages/blob/master/coreimage/transitioncommands.sh)
|
|
|
|
|
|
The "embossimage" script is more a demonstration script than a general purpose script, and is the basis for how I have demonstrated many of the features of the image filter chain object and how to chain filters together as described the documentation. Nevertheless the script has a number of inputs making it possible to view how changing input values affects the produced output.
|
|
|
|
... | ... | @@ -503,7 +503,7 @@ As well as the built in Core Image filters I have added another filter for use w |
|
|
|
|
|
In the following diagram the colorDistance is on the horizontal axis. Pixels with colors similar to the chroma color become transparent, whilst colors further away are either semi transparent or fully opaque.
|
|
|
|
|
|
![YVS Chroma Key diagram](../raw/master/wiki-images/yvschromakeyplot.png "A diagram showing how transparency changes with color distance from the chroma key color.")
|
|
|
![YVS Chroma Key diagram](https://gitlab.com/ktam/using-movingimages/raw/master/wiki-images/yvschromakeyplot.png "A diagram showing how transparency changes with color distance from the chroma key color.")
|
|
|
|
|
|
The following shows a json object representation of the properties needed to define a YVSChromaKeyFilter as a filter in a filter chain:
|
|
|
|
... | ... | |