Featured
  • Applying transformations to selected colors in an image

    Desaturate a range of colors in an image with a multidimensional lookup table.

    サンプルコードを見る
  • Calculating the dominant colors in an image

    Find the main colors in an image by implementing k-means clustering using the Accelerate framework.

    サンプルコードを見る
  • Creating an audio unit extension using the vDSP library

    Add biquadratic filter audio-effect processing to apps like Logic Pro X and GarageBand with the Accelerate framework.

    サンプルコードを見る
  • Cropping to the subject in a chroma-keyed image

    Convert a chroma-key color to alpha values and trim transparent pixels using Accelerate.

    サンプルコードを見る
  • Sharing texture data between the Model I/O framework and the vImage library

    Use Model I/O and vImage to composite a photograph over a computer-generated sky.

    サンプルコードを見る
  • Supporting real-time ML inference on the CPU

    Add real-time digital signal processing to apps like Logic Pro X and GarageBand with the BNNS Graph API.

    サンプルコードを見る
Audio Processing
  • Creating an audio unit extension using the vDSP library

    Add biquadratic filter audio-effect processing to apps like Logic Pro X and GarageBand with the Accelerate framework.

    サンプルコードを見る
  • Equalizing Audio with vDSP

    Shape audio output using discrete cosine transforms and biquadratic filters.

    サンプルコードを見る
Color and Tone Adjustment
  • Adjusting Saturation and Applying Tone Mapping

    Convert an RGB image to discrete luminance and chrominance channels, and apply color and contrast treatments.

    サンプルコードを見る
  • Adjusting the Brightness and Contrast of an Image

    Use a gamma function to apply a linear or exponential curve.

    サンプルコードを見る
  • Adjusting the Hue of an Image

    Convert an RGB image to L*a*b* color space and apply hue adjustment.

    サンプルコードを見る
  • Applying Tone Curve Adjustments to Images

    Use the vImage library's polynomial transform to apply tone curve adjustments to images.

    サンプルコードを見る
  • Enhancing Image Contrast with Histogram Manipulation

    Enhance and adjust the contrast of an image with histogram equalization and contrast stretching.

    サンプルコードを見る
  • Specifying Histograms with vImage

    Calculate the histogram of one image and apply it to a second image.

    サンプルコードを見る
Compression
  • Compressing and Decompressing Data with Buffer Compression

    Compress a string, write it to the file system, and decompress the same file using buffer compression.

    サンプルコードを見る
  • Compressing and Decompressing Data with Input and Output Filters

    Compress and decompress streamed or from-memory data, using input and output filters.

    サンプルコードを見る
  • Compressing and Decompressing Files with Stream Compression

    Perform compression or the appropriate kind of decompression to a file based on its path extension.

    サンプルコードを見る
  • Compressing and Decompressing Files with Swift Stream Compression

    Perform compression for all files and decompression for files with supported extension types.

    サンプルコードを見る
Conversion Between Image Formats
  • Applying Color Transforms to Images with a Multidimensional Lookup Table

    Create a multidimensional lookup table to convert RGB images to CMYK.

    サンプルコードを見る
  • Building a Basic Conversion Workflow

    Learn the fundamentals of the convert-any-to-any function by converting a CMYK image to an RGB image.

    サンプルコードを見る
  • Converting Color Images to Grayscale

    Convert a color image to grayscale using matrix multiplication.

    サンプルコードを見る
  • Converting Luminance and Chrominance Planes to an ARGB Image

    Create a displayable ARGB image from the luminance and chrominance information supplied by your device's camera

    サンプルコードを見る
  • Sharing texture data between the Model I/O framework and the vImage library

    Use Model I/O and vImage to composite a photograph over a computer-generated sky.

    サンプルコードを見る
  • Standardizing Arbitrary Image Formats for Processing

    Convert assets with disparate color spaces and bit depths to a standard working format for applying vImage operations.

    サンプルコードを見る
Convolution and Morphology
Core Video Interoperation
  • Applying vImage Operations to Video Sample Buffers

    Use vImage's convert-any-to-any function to perform real-time image processing of video frames streamed from your device's camera.

    サンプルコードを見る
  • Reading From and Writing to Core Video Pixel Buffers

    Transfer image data between Core Video pixel buffers and vImage buffers to integrate vImage operations into a Core Image workflow.

    サンプルコードを見る
  • Real-Time Video Effects with vImage

    Use vImage to apply effects to a video feed in real time.

    サンプルコードを見る
Directories, Files, and Data Archives
Fourier and Cosine Transforms
Image Processing Essentials
Image Resampling
  • Reducing Artifacts in Resampled Images

    Avoid ringing effects introduced by the default Lanczos algorithm when scaling an image by using a custom resampling filter.

    サンプルコードを見る
Linear Algebra
  • Compressing an image using linear algebra

    Reduce noise in an image using singular value decomposition (SVD).

    サンプルコードを見る
  • Computing the Mel Spectrum Using Linear Algebra

    Generate a real-time mel spectrogram of audio using matrix multiplication.

    サンプルコードを見る
  • Finding an Interpolating Polynomial Using the Vandermonde Method

    Use LAPACK to solve a linear system and find an interpolating polynomial to construct new points between a series of known data points.

    サンプルコードを見る
  • Finding an interpolating polynomial using the Vandermonde method

    Use LAPACK to solve a linear system and find an interpolating polynomial to construct new points between a series of known data points.

    サンプルコードを見る
  • Solving Systems of Linear Equations with LAPACK

    Select the optimal LAPACK routine to solve a system of linear equations.

    サンプルコードを見る
  • Solving systems of linear equations with LAPACK

    Select the optimal LAPACK routine to solve a system of linear equations.

    サンプルコードを見る
Signal Processing Essentials
  • Controlling vDSP Operations with Stride

    Operate selectively on the elements of a vector at regular intervals.

    サンプルコードを見る
  • Resampling a Signal with Decimation

    Reduce the sample rate of a signal, by specifying a decimation factor and applying a custom antialiasing filter.

    サンプルコードを見る
  • Use Linear Interpolation to Construct New Data Points

    Fill the gaps in arrays of numerical data using linear interpolation.

    サンプルコードを見る
  • Using vDSP for Vector-based Arithmetic

    Increase the performance of common mathematical tasks with vDSP vector-vector and vector-scalar operations.

    サンプルコードを見る
Sparse Matrices
  • Creating a Sparse Matrix from Coordinate Format Arrays

    Use separate coordinate format arrays to create sparse matrices.

    サンプルコードを見る
  • Creating a Sparse Matrix from Coordinate Format Arrays

    Use separate coordinate format arrays to create sparse matrices.

    サンプルコードを見る
  • Creating Sparse Matrices

    Create sparse matrices for factorization and solving systems.

    サンプルコードを見る
  • Creating Sparse Matrices

    Create sparse matrices for factorization and solving systems.

    サンプルコードを見る
  • Implementing Iterative Methods

    Use iterative methods to solve large problems faster and with a lower memory overhead than with direct methods.

    サンプルコードを見る
  • Implementing Iterative Methods

    Use iterative methods to solve large problems faster and with a lower memory overhead than with direct methods.

    サンプルコードを見る
  • Solving Systems Using Direct Methods

    Use direct methods to solve systems of equations where the coefficient matrix is sparse.

    サンプルコードを見る
  • Solving Systems Using Direct Methods

    Use direct methods to solve systems of equations where the coefficient matrix is sparse.

    サンプルコードを見る
  • Solving Systems Using Iterative Methods

    Use iterative methods to solve systems of equations where the coefficient matrix is sparse.

    サンプルコードを見る
  • Solving Systems Using Iterative Methods

    Use iterative methods to solve systems of equations where the coefficient matrix is sparse.

    サンプルコードを見る
Vectors, Matrices, and Quaternions
vImage / vDSP Interoperability
  • Calculating the dominant colors in an image

    Find the main colors in an image by implementing k-means clustering using the Accelerate framework.

    サンプルコードを見る
  • Finding the Sharpest Image in a Sequence of Captured Images

    Share image data between vDSP and vImage to compute the sharpest image from a bracketed photo sequence.

    サンプルコードを見る
  • Visualizing Sound as an Audio Spectrogram

    Share image data between vDSP and vImage to visualize audio that a device microphone captures.

    サンプルコードを見る