Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека разработчика Mac

Разработчик

Ускорьте Ссылку Платформы vImage Ссылка Свертки

Опции
Развертывание Target:

На этой странице
Язык:

Ссылка Свертки vImage

Функции свертки реализуют различные методы для сглаживания или увеличения резкости изображения путем замены пикселя взвешенной суммой себя и соседних пикселей. Свертка изображения не изменяет размер изображения.

Каждая функция свертки требует, чтобы Вы передали ее ядро свертки, определяющее, как значения соседних пикселей используются для вычислений значения целевого пикселя. Ядро является упакованным массивом, не дополняя в концах строк. Элементы массива должны иметь тип uint8_t (для Planar8 и форматов ARGB8888) или типа float (для PlanarF и форматов ARGBFFFF). Высота и ширина массива должны оба быть нечетными числами.

Например, 3 x 3 ядра свертки для изображения Planar8 состоят из девяти 8-разрядных (1-байтовых) значений, расположенных последовательно. Первые три значения представляют первую строку ядра, следующие три значения вторая строка и последние три значения третья строка.

Как правило, Вы используете нормализованные значения для ядра свертки. Для форматов с плавающей точкой это означает, что сумма элементов ядра 1.0. Для целочисленных форматов сумма элементов ядра, разделенного на данный делитель, равняется 1. Ненормализованное ядро или освещает или затемняет изображение.

Для целочисленных форматов сумма любого подмножества элементов ядра должна быть в диапазоне –224 к 224 – 1, включительно для предотвращения целочисленного переполнения. Если Ваше ядро не встречает это ограничение, или использует формат с плавающей точкой или масштабирует ядро для использования меньших значений.

Функция свертки преобразовывает исходное изображение следующим образом:

  1. Помещает ядро по изображению так, чтобы центральный элемент ядра нашелся по исходному пикселю.

  2. Для форматов с плавающей точкой, выполняет это вычисление:

    image: ../Art/float_kernel.pdf

    Для целочисленных форматов, выполняет это вычисление:

    image: ../Art/integer_kernel.jpg
  3. Присваивает результат целевому пикселю.

Если изображение находится в планарном формате, работа свертки использует одноканальные значения пикселей непосредственно. Если изображение находится в чередованном формате, работа свертки обрабатывает каждый канал (альфа, красная, зеленая, и синяя) отдельно. В обоих планарный и чередованный формат само ядро является всегда планарным.

Когда пиксель, который будет преобразован, около края изображения — не просто область интереса, но всем изображением которого это - часть — ядро может расшириться вне края изображения, так, чтобы не было никаких существующих пикселей ниже некоторых элементов ядра. В этих случаях необходимо передать флаг, указывающий метод для функции свертки для использования: kvImageCopyInPlace, kvImageBackgroundColorFill, kvImageEdgeExtend, и kvImageTruncateKernel. Для обсуждения этих опций см. vImage Ссылку Типов данных и Констант.

Функции

  • Увеличивает резкость изображения ARGBFFFF путем отмены предыдущей свертки, размывшей изображение, такое как дифракционные эффекты в объективе фотокамеры.

    Объявление

    Swift

    func vImageRichardsonLucyDeConvolve_ARGBFFFF(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel: UnsafePointer<Float>, _ kernel2: UnsafePointer<Float>, _ kernel_height: UInt32, _ kernel_width: UInt32, _ kernel_height2: UInt32, _ kernel_width2: UInt32, _ backgroundColor: UnsafeMutablePointer<Float>, _ iterationCount: UInt32, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageRichardsonLucyDeConvolve_ARGBFFFF ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const float *kernel, const float *kernel2, uint32_t kernel_height, uint32_t kernel_width, uint32_t kernel_height2, uint32_t kernel_width2, Pixel_FFFF backgroundColor, uint32_t iterationCount, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel

    Указатель на данные ядра развертки, которые должны быть упакованным массивом без любого дополнения. Ядро выражает размывающуюся свертку или функцию рассеяния точки.

    kernel2

    Указатель на данные второго ядра, которое должно быть упакованным массивом без любого дополнения. Предоставьте это ядро, только если первое ядро асимметрично; иначе передача NULL.

    kernel_height

    Высота первого ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина первого ядра в пикселях. Это значение должно быть нечетным.

    kernel_height2

    Высота второго ядра в пикселях (проигнорированный, если kernel2 NULL). Это значение должно быть нечетным.

    kernel_width2

    Ширина второго ядра в пикселях (проигнорированный, если kernel2 NULL). Это значение должно быть нечетным.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    iterationCount

    Число раз для итерации алгоритма развертки.

    flags

    Опции использовать при выполнении работы развертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Эта функция выполняет развертку Ричардсона-Люси области интереса в исходном изображении M x N ядро, выполняя конкретное количество итераций и помещая результат в целевой буфер.

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.4 и позже.

  • Увеличивает резкость изображения ARGB8888 путем отмены предыдущей свертки, размывшей изображение, такое как дифракционные эффекты в объективе фотокамеры.

    Объявление

    Swift

    func vImageRichardsonLucyDeConvolve_ARGB8888(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel: UnsafePointer<Int16>, _ kernel2: UnsafePointer<Int16>, _ kernel_height: UInt32, _ kernel_width: UInt32, _ kernel_height2: UInt32, _ kernel_width2: UInt32, _ divisor: Int32, _ divisor2: Int32, _ backgroundColor: UnsafeMutablePointer<UInt8>, _ iterationCount: UInt32, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageRichardsonLucyDeConvolve_ARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const int16_t *kernel, const int16_t *kernel2, uint32_t kernel_height, uint32_t kernel_width, uint32_t kernel_height2, uint32_t kernel_width2, int32_t divisor, int32_t divisor2, Pixel_8888 backgroundColor, uint32_t iterationCount, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel

    Указатель на данные ядра развертки, которые должны быть упакованным массивом без любого дополнения. Ядро выражает размывающуюся свертку или функцию рассеяния точки.

    kernel2

    Указатель на данные второго ядра, которое должно быть упакованным массивом без любого дополнения. Предоставьте это ядро, только если первое ядро асимметрично; иначе передача NULL.

    kernel_height

    Высота первого ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина первого ядра в пикселях. Это значение должно быть нечетным.

    kernel_height2

    Высота второго ядра в пикселях (проигнорированный, если kernel2 NULL). Это значение должно быть нечетным.

    kernel_width2

    Ширина второго ядра в пикселях (проигнорированный, если kernel2 NULL). Это значение должно быть нечетным.

    divisor

    Делитель, который будет использоваться в свертках с первым ядром.

    divisor2

    Делитель, который будет использоваться в свертках со вторым ядром.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    iterationCount

    Число раз для итерации алгоритма развертки.

    flags

    Опции использовать при выполнении работы развертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Эта функция выполняет развертку Ричардсона-Люси области интереса в исходном изображении M x N ядро, выполняя конкретное количество итераций и помещая результат в целевой буфер.

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.4 и позже.

  • Увеличивает резкость изображения PlanarF путем отмены предыдущей свертки, размывшей изображение, такое как дифракционные эффекты в объективе фотокамеры.

    Объявление

    Swift

    func vImageRichardsonLucyDeConvolve_PlanarF(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel: UnsafePointer<Float>, _ kernel2: UnsafePointer<Float>, _ kernel_height: UInt32, _ kernel_width: UInt32, _ kernel_height2: UInt32, _ kernel_width2: UInt32, _ backgroundColor: Pixel_F, _ iterationCount: UInt32, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageRichardsonLucyDeConvolve_PlanarF ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const float *kernel, const float *kernel2, uint32_t kernel_height, uint32_t kernel_width, uint32_t kernel_height2, uint32_t kernel_width2, Pixel_F backgroundColor, uint32_t iterationCount, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel

    Указатель на данные ядра развертки, которые должны быть упакованным массивом без любого дополнения. Ядро выражает размывающуюся свертку или функцию рассеяния точки.

    kernel2

    Указатель на данные второго ядра, которое должно быть упакованным массивом без любого дополнения. Предоставьте это ядро, только если первое ядро асимметрично; иначе передача NULL.

    kernel_height

    Высота первого ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина первого ядра в пикселях. Это значение должно быть нечетным.

    kernel_height2

    Высота второго ядра в пикселях (проигнорированный, если kernel2 NULL). Это значение должно быть нечетным.

    kernel_width2

    Ширина второго ядра в пикселях (проигнорированный, если kernel2 NULL). Это значение должно быть нечетным.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    iterationCount

    Число раз для итерации алгоритма развертки.

    flags

    Опции использовать при выполнении работы развертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Функция выполняет развертку Ричардсона-Люси области интереса в исходном изображении M x N ядро, выполняя конкретное количество итераций и помещая результат в целевой буфер.

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.4 и позже.

  • Увеличивает резкость изображения Planar8 путем отмены предыдущей свертки, размывшей изображение, такое как дифракционные эффекты в объективе фотокамеры.

    Объявление

    Swift

    func vImageRichardsonLucyDeConvolve_Planar8(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel: UnsafePointer<Int16>, _ kernel2: UnsafePointer<Int16>, _ kernel_height: UInt32, _ kernel_width: UInt32, _ kernel_height2: UInt32, _ kernel_width2: UInt32, _ divisor: Int32, _ divisor2: Int32, _ backgroundColor: Pixel_8, _ iterationCount: UInt32, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageRichardsonLucyDeConvolve_Planar8 ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const int16_t *kernel, const int16_t *kernel2, uint32_t kernel_height, uint32_t kernel_width, uint32_t kernel_height2, uint32_t kernel_width2, int32_t divisor, int32_t divisor2, Pixel_8 backgroundColor, uint32_t iterationCount, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel

    Указатель на данные ядра развертки, которые должны быть упакованным массивом без любого дополнения. Ядро выражает размывающуюся свертку или функцию рассеяния точки.

    kernel2

    Указатель на данные второго ядра, которое должно быть упакованным массивом без любого дополнения. Предоставьте это ядро, только если первое ядро асимметрично; иначе передача NULL.

    kernel_height

    Высота первого ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина первого ядра в пикселях. Это значение должно быть нечетным.

    kernel_height2

    Высота второго ядра в пикселях (проигнорированный, если kernel2 NULL). Это значение должно быть нечетным.

    kernel_width2

    Ширина второго ядра в пикселях (проигнорированный, если kernel2 NULL). Это значение должно быть нечетным.

    divisor

    Делитель, который будет использоваться в свертках с первым ядром.

    divisor2

    Делитель, который будет использоваться в свертках со вторым ядром.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    iterationCount

    Число раз для итерации алгоритма развертки.

    flags

    Опции использовать при выполнении работы развертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Эта функция выполняет развертку Ричардсона-Люси области интереса в исходном изображении M x N ядро, выполняя конкретное количество итераций и помещая результат в целевой буфер.

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.4 и позже.

  • Скручивает область интереса в исходном изображении ARGBFFFF M x N ядро.

    Объявление

    Swift

    func vImageConvolve_ARGBFFFF(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel: UnsafePointer<Float>, _ kernel_height: UInt32, _ kernel_width: UInt32, _ backgroundColor: UnsafeMutablePointer<Float>, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageConvolve_ARGBFFFF ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const float *kernel, uint32_t kernel_height, uint32_t kernel_width, Pixel_FFFF backgroundColor, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении. смещения к точке в исходном изображении для определения верхней левой точки области интереса.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel

    Указатель на данные ядра свертки, которые должны быть упакованным массивом без любого дополнения.

    kernel_height

    Высота ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина ядра в пикселях. Это значение должно быть нечетным.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    flags

    Опции использовать при выполнении работы свертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.3 и позже.

  • Скручивает область интереса в исходном изображении M x N ядро, затем делит пиксельные значения на делитель.

    Объявление

    Swift

    func vImageConvolve_ARGB8888(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel: UnsafePointer<Int16>, _ kernel_height: UInt32, _ kernel_width: UInt32, _ divisor: Int32, _ backgroundColor: UnsafeMutablePointer<UInt8>, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageConvolve_ARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const int16_t *kernel, uint32_t kernel_height, uint32_t kernel_width, int32_t divisor, Pixel_8888 backgroundColor, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel

    Указатель на данные ядра свертки, которые должны быть упакованным массивом без любого дополнения.

    kernel_height

    Высота ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина ядра в пикселях. Это значение должно быть нечетным.

    divisor

    Значение для деления результатов свертки. Это обычно используется для нормализации.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    flags

    Опции использовать при выполнении работы свертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.3 и позже.

  • Скручивает область интереса в исходном изображении M x N ядро.

    Объявление

    Swift

    func vImageConvolve_PlanarF(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel: UnsafePointer<Float>, _ kernel_height: UInt32, _ kernel_width: UInt32, _ backgroundColor: Pixel_F, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageConvolve_PlanarF ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const float *kernel, uint32_t kernel_height, uint32_t kernel_width, Pixel_F backgroundColor, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel

    Указатель на данные ядра свертки, которые должны быть упакованным массивом без любого дополнения.

    kernel_height

    Высота ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина ядра в пикселях. Это значение должно быть нечетным.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    flags

    Опции использовать при выполнении работы свертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.3 и позже.

  • Скручивает область интереса в исходном изображении M x N ядро, затем делит пиксельные значения на делитель.

    Объявление

    Swift

    func vImageConvolve_Planar8(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel: UnsafePointer<Int16>, _ kernel_height: UInt32, _ kernel_width: UInt32, _ divisor: Int32, _ backgroundColor: Pixel_8, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageConvolve_Planar8 ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const int16_t *kernel, uint32_t kernel_height, uint32_t kernel_width, int32_t divisor, Pixel_8 backgroundColor, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel

    Указатель на данные ядра свертки, которые должны быть упакованным массивом без любого дополнения.

    kernel_height

    Высота ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина ядра в пикселях. Это значение должно быть нечетным.

    divisor

    Значение для деления результатов свертки с. Это обычно используется для нормализации.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    flags

    Опции использовать при выполнении работы свертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.3 и позже.

  • Скручивает область интереса в исходном изображении ARGB8888 M x N ядро, затем нормализует пиксельные значения.

    Объявление

    Swift

    func vImageConvolveWithBias_ARGB8888(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel: UnsafePointer<Int16>, _ kernel_height: UInt32, _ kernel_width: UInt32, _ divisor: Int32, _ bias: Int32, _ backgroundColor: UnsafeMutablePointer<UInt8>, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageConvolveWithBias_ARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const int16_t *kernel, uint32_t kernel_height, uint32_t kernel_width, int32_t divisor, int32_t bias, Pixel_8888 backgroundColor, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel

    Указатель на данные ядра свертки, которые должны быть упакованным массивом без любого дополнения.

    kernel_height

    Высота ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина ядра в пикселях. Это значение должно быть нечетным.

    divisor

    Значение, в целях нормализации, для деления на результаты свертки.

    bias

    Значение, чтобы добавить к каждому элементу в результате свертки, прежде, чем применить делитель или выполнить любое отсечение.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    flags

    Опции использовать при выполнении работы свертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.4 и позже.

    См. также

    vImageConvolve_ARGB8888

  • Скручивает область интереса в исходном изображении PlanarF M x N ядро.

    Объявление

    Swift

    func vImageConvolveWithBias_PlanarF(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel: UnsafePointer<Float>, _ kernel_height: UInt32, _ kernel_width: UInt32, _ bias: Float, _ backgroundColor: Pixel_F, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageConvolveWithBias_PlanarF ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const float *kernel, uint32_t kernel_height, uint32_t kernel_width, float bias, Pixel_F backgroundColor, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel

    Указатель на данные ядра свертки, которые должны быть упакованным массивом без любого дополнения.

    kernel_height

    Высота ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина ядра в пикселях. Это значение должно быть нечетным.

    bias

    Значение, чтобы добавить к каждому элементу в результате свертки, прежде, чем выполнить любое отсечение.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    flags

    Опции использовать при выполнении работы свертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.4 и позже.

    См. также

    vImageConvolve_PlanarF

  • Скручивает область интереса в исходном изображении Planar8 M x N ядро, затем нормализует пиксельные значения.

    Объявление

    Swift

    func vImageConvolveWithBias_Planar8(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel: UnsafePointer<Int16>, _ kernel_height: UInt32, _ kernel_width: UInt32, _ divisor: Int32, _ bias: Int32, _ backgroundColor: Pixel_8, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageConvolveWithBias_Planar8 ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const int16_t *kernel, uint32_t kernel_height, uint32_t kernel_width, int32_t divisor, int32_t bias, Pixel_8 backgroundColor, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel

    Указатель на данные ядра свертки, которые должны быть упакованным массивом без любого дополнения.

    kernel_height

    Высота ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина ядра в пикселях. Это значение должно быть нечетным.

    divisor

    Значение, в целях нормализации, для деления на результаты свертки.

    bias

    Значение, чтобы добавить к каждому элементу в результате свертки, прежде, чем применить делитель или выполнить любое отсечение.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    flags

    Опции использовать при выполнении работы свертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.4 и позже.

    См. также

    vImageConvolve_Planar8

  • Скручивает область интереса в исходном изображении ARGBFFFF M x N ядро.

    Объявление

    Swift

    func vImageConvolveWithBias_ARGBFFFF(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel: UnsafePointer<Float>, _ kernel_height: UInt32, _ kernel_width: UInt32, _ bias: Float, _ backgroundColor: UnsafeMutablePointer<Float>, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageConvolveWithBias_ARGBFFFF ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const float *kernel, uint32_t kernel_height, uint32_t kernel_width, float bias, Pixel_FFFF backgroundColor, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel

    Указатель на данные ядра свертки, которые должны быть упакованным массивом без любого дополнения.

    kernel_height

    Высота ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина ядра в пикселях. Это значение должно быть нечетным.

    bias

    Значение, чтобы добавить к каждому элементу в результате свертки, прежде, чем выполнить любое отсечение.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    flags

    Опции использовать при выполнении работы свертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.4 и позже.

    См. также

    vImageConvolve_ARGBFFFF

  • Скручивает каждый канал области интереса в исходном изображении ARGBFFFF одним из четырех M x N ядра.

    Объявление

    Swift

    func vImageConvolveMultiKernel_ARGBFFFF(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernels: UnsafeMutablePointer<UnsafePointer<Float>>, _ kernel_height: UInt32, _ kernel_width: UInt32, _ biases: UnsafePointer<Float>, _ backgroundColor: UnsafeMutablePointer<Float>, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageConvolveMultiKernel_ARGBFFFF ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const float *kernels[4], uint32_t kernel_height, uint32_t kernel_width, const float biases[4], Pixel_FFFF backgroundColor, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernels

    Массив указателей на данные для четырех ядер. Первое ядро для альфа-канала, второго для красного, третьего для зеленого и четвертого для синего. Данные для каждого ядра являются упакованным массивом значений с плавающей точкой.

    kernel_height

    Высота ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина ядра в пикселях. Это значение должно быть нечетным.

    biases

    Массив четырех значений, которые будут добавлены к каждому элементу свертки, заканчивается для одного канала перед отсечением. Первое значение для альфа-канала, второго для красного, третьего для зеленого и четвертого для синего

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    flags

    Опции использовать при выполнении работы свертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.4 и позже.

  • Скручивает каждый канал области интереса в исходном изображении ARGB8888 одним из четырех M x N ядра, затем делит пиксельные значения на один из этих четырех делителей.

    Объявление

    Swift

    func vImageConvolveMultiKernel_ARGB8888(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernels: UnsafeMutablePointer<UnsafePointer<Int16>>, _ kernel_height: UInt32, _ kernel_width: UInt32, _ divisors: UnsafePointer<Int32>, _ biases: UnsafePointer<Int32>, _ backgroundColor: UnsafeMutablePointer<UInt8>, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageConvolveMultiKernel_ARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const int16_t *kernels[4], uint32_t kernel_height, uint32_t kernel_width, const int32_t divisors[4], const int32_t biases[4], Pixel_8888 backgroundColor, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernels

    Массив указателей на данные для четырех ядер. Первое ядро для альфа-канала, второго для красного, третьего для зеленого и четвертого для синего. Данные для каждого ядра являются упакованным массивом целочисленных значений.

    kernel_height

    Высота ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина ядра в пикселях. Это значение должно быть нечетным.

    divisors

    Массив значений, в целях нормализации, для деления на результаты свертки. Предоставьте одно значение для каждого канала.

    biases

    Массив четырех значений, которые будут добавлены к каждому элементу свертки, заканчивается для одного канала перед отсечением. Первое значение для альфа-канала, второго для красного, третьего для зеленого и четвертого для синего

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    flags

    Опции использовать при выполнении работы свертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.4 и позже.

  • Скручивает область интереса в исходном изображении Planar8 неявным M x N ядро, имеющее эффект фильтра поля.

    Объявление

    Swift

    func vImageBoxConvolve_Planar8(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel_height: UInt32, _ kernel_width: UInt32, _ backgroundColor: Pixel_8, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageBoxConvolve_Planar8 ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, uint32_t kernel_height, uint32_t kernel_width, Pixel_8 backgroundColor, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel_height

    Высота ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина ядра в пикселях. Это значение должно быть нечетным.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    flags

    Опции использовать при выполнении работы свертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Эта функция использует неявный делитель и неявное ядро указанного размера вместо ядра, предоставленного вызывающей стороной.

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.4 и позже.

  • Скручивает область интереса в исходном изображении ARGB8888 неявным M x N ядро, имеющее эффект фильтра поля.

    Объявление

    Swift

    func vImageBoxConvolve_ARGB8888(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel_height: UInt32, _ kernel_width: UInt32, _ backgroundColor: UnsafeMutablePointer<UInt8>, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageBoxConvolve_ARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, uint32_t kernel_height, uint32_t kernel_width, Pixel_8888 backgroundColor, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel_height

    Высота ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина ядра в пикселях. Это значение должно быть нечетным.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    flags

    Опции использовать при выполнении работы свертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Эта функция использует неявный делитель и неявное ядро указанного размера вместо ядра, предоставленного вызывающей стороной.

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.4 и позже.

  • Скручивает область интереса в исходном изображении Planar8 неявным M x N ядро, имеющее эффект фильтра палатки.

    Объявление

    Swift

    func vImageTentConvolve_Planar8(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel_height: UInt32, _ kernel_width: UInt32, _ backgroundColor: Pixel_8, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageTentConvolve_Planar8 ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, uint32_t kernel_height, uint32_t kernel_width, Pixel_8 backgroundColor, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel_height

    Высота ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина ядра в пикселях. Это значение должно быть нечетным.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    flags

    Опции использовать при выполнении работы свертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Эта функция использует неявный делитель и неявное ядро указанного размера вместо ядра, предоставленного вызывающей стороной.

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.4 и позже.

  • Скручивает область интереса в исходном изображении ARGB8888 неявным M x N ядро, имеющее эффект фильтра палатки.

    Объявление

    Swift

    func vImageTentConvolve_ARGB8888(_ src: UnsafePointer<vImage_Buffer>, _ dest: UnsafePointer<vImage_Buffer>, _ tempBuffer: UnsafeMutablePointer<Void>, _ srcOffsetToROI_X: vImagePixelCount, _ srcOffsetToROI_Y: vImagePixelCount, _ kernel_height: UInt32, _ kernel_width: UInt32, _ backgroundColor: UnsafeMutablePointer<UInt8>, _ flags: vImage_Flags) -> vImage_Error

    Objective C

    vImage_Error vImageTentConvolve_ARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, uint32_t kernel_height, uint32_t kernel_width, Pixel_8888 backgroundColor, vImage_Flags flags );

    Параметры

    src

    Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.

    dest

    Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение height, width, и rowBytes поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память. Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.

    tempBuffer

    Указатель на временный буфер. Если Вы передаете NULL, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.

    Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.

    srcOffsetToROI_X

    Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    srcOffsetToROI_Y

    Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.

    kernel_height

    Высота ядра в пикселях. Это значение должно быть нечетным.

    kernel_width

    Ширина ядра в пикселях. Это значение должно быть нечетным.

    backgroundColor

    Цвет фона. При предоставлении цвета необходимо также установить kvImageBackgroundColorFill флаг, иначе функция игнорирует цвет.

    flags

    Опции использовать при выполнении работы свертки. Необходимо установить точно один из следующих флагов, чтобы указать, как vImage обрабатывает пиксельные расположения вне края исходного изображения: kvImageCopyInPlace, kvImageTruncateKernel, kvImageBackgroundColorFill, или kvImageEdgeExtend.

    Установите kvImageDoNotTile отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования.

    Возвращаемое значение

    kvImageNoError, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.

    Обсуждение

    Эта функция использует неявный делитель и неявное ядро указанного размера вместо ядра, предоставленного вызывающей стороной.

    Если Вы хотите выделить память для tempBuffer параметр самостоятельно, вызовите эту функцию дважды, следующим образом:

    1. Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу kvImageGetTempBufferSize флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.) kvImageGetTempBufferSize флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.

    2. После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в tempBuffer параметр. На сей раз не передавайте kvImageGetTempBufferSize флаг.

    Оператор импорта

    Objective C

    @import Accelerate;

    Swift

    import Accelerate

    Доступность

    Доступный в OS X v10.4 и позже.

  • Возвращает минимальный размер, в байтах, для временного буфера, который вызывающая сторона предоставляет к любой из функций свертки.

    Оператор осуждения

    Используйте kvImageGetTempBufferSize флаг с надлежащей сверткой функционирует вместо того, чтобы вызвать эту функцию.

    Объявление

    Objective C

    size_t vImageGetMinimumTempBufferSizeForConvolution ( const vImage_Buffer *src, const vImage_Buffer *dest, uint32_t kernel_height, uint32_t kernel_width, vImage_Flags flags, size_t bytesPerPixel );

    Параметры

    src

    Указатель на vImage буферизует структуру, которую Вы планируете передать функции свертки.

    dest

    Указатель на vImage буферизует структуру, которую Вы планируете передать функции свертки.

    kernel_height

    Высота, в пикселях, ядра, которое Вы планируете использовать в функции свертки.

    kernel_width

    Ширина, в пикселях, ядра, которое Вы планируете использовать в функции свертки.

    flags

    Флаги, которые Вы планируете передать функции свертки.

    bytesPerPixel

    Число байтов в пикселе. Удостоверьтесь, что передали значение, подходящее для формата пикселя.

    Возвращаемое значение

    Минимальный размер, в байтах, временного буфера.

    Обсуждение

    Эта функция не зависит от data или rowBytes поля src или dest параметры; это только использует height и width поля от тех параметров. Если размер изображений, которые Вы обрабатываете, остается то же, то требуемый размер буфера также остается то же. Более в частности, если, между двумя вызовами к vImageGetMinimumTempBufferSizeForConvolution, height и width из src и dest параметры не увеличиваются, и другие параметры остаются тем же, тогда результат vImageGetMinimumTempBufferSizeForConvolution не увеличивается. Это упрощает снова использовать тот же временный буфер при обработке многих изображений того же размера, как в мозаичном размещении.

    Оператор импорта

    Objective C

    @import Accelerate;

    Доступность

    Доступный в OS X v10.3 и позже.

    Осуждаемый в OS X v10.4.