Ссылка Свертки vImage
Функции свертки реализуют различные методы для сглаживания или увеличения резкости изображения путем замены пикселя взвешенной суммой себя и соседних пикселей. Свертка изображения не изменяет размер изображения.
Каждая функция свертки требует, чтобы Вы передали ее ядро свертки, определяющее, как значения соседних пикселей используются для вычислений значения целевого пикселя. Ядро является упакованным массивом, не дополняя в концах строк. Элементы массива должны иметь тип uint8_t
(для Planar8 и форматов ARGB8888) или типа float
(для PlanarF и форматов ARGBFFFF). Высота и ширина массива должны оба быть нечетными числами.
Например, 3 x 3 ядра свертки для изображения Planar8 состоят из девяти 8-разрядных (1-байтовых) значений, расположенных последовательно. Первые три значения представляют первую строку ядра, следующие три значения вторая строка и последние три значения третья строка.
Как правило, Вы используете нормализованные значения для ядра свертки. Для форматов с плавающей точкой это означает, что сумма элементов ядра 1.0. Для целочисленных форматов сумма элементов ядра, разделенного на данный делитель, равняется 1. Ненормализованное ядро или освещает или затемняет изображение.
Для целочисленных форматов сумма любого подмножества элементов ядра должна быть в диапазоне –224 к 224 – 1, включительно для предотвращения целочисленного переполнения. Если Ваше ядро не встречает это ограничение, или использует формат с плавающей точкой или масштабирует ядро для использования меньших значений.
Функция свертки преобразовывает исходное изображение следующим образом:
Помещает ядро по изображению так, чтобы центральный элемент ядра нашелся по исходному пикселю.
Для форматов с плавающей точкой, выполняет это вычисление:
Для целочисленных форматов, выполняет это вычисление:
Присваивает результат целевому пикселю.
Если изображение находится в планарном формате, работа свертки использует одноканальные значения пикселей непосредственно. Если изображение находится в чередованном формате, работа свертки обрабатывает каждый канал (альфа, красная, зеленая, и синяя) отдельно. В обоих планарный и чередованный формат само ядро является всегда планарным.
Когда пиксель, который будет преобразован, около края изображения — не просто область интереса, но всем изображением которого это - часть — ядро может расшириться вне края изображения, так, чтобы не было никаких существующих пикселей ниже некоторых элементов ядра. В этих случаях необходимо передать флаг, указывающий метод для функции свертки для использования: kvImageCopyInPlace
, kvImageBackgroundColorFill
, kvImageEdgeExtend
, и kvImageTruncateKernel
. Для обсуждения этих опций см. vImage Ссылку Типов данных и Констант.
-
vImageRichardsonLucyDeConvolve_ARGBFFFF (_: _: _: _: _: _: _: _: _: _: _: _: _: _:) vImageRichardsonLucyDeConvolve_ARGBFFFF
Увеличивает резкость изображения 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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
vImageRichardsonLucyDeConvolve_ARGB8888 (_: _: _: _: _: _: _: _: _: _: _: _: _: _: _: _:) vImageRichardsonLucyDeConvolve_ARGB8888
Увеличивает резкость изображения 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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
vImageRichardsonLucyDeConvolve_PlanarF (_: _: _: _: _: _: _: _: _: _: _: _: _: _:) vImageRichardsonLucyDeConvolve_PlanarF
Увеличивает резкость изображения 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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
vImageRichardsonLucyDeConvolve_Planar8 (_: _: _: _: _: _: _: _: _: _: _: _: _: _: _: _:) vImageRichardsonLucyDeConvolve_Planar8
Увеличивает резкость изображения 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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
vImageConvolveWithBias_ARGB8888 (_: _: _: _: _: _: _: _: _: _: _: _:) vImageConvolveWithBias_ARGB8888
Скручивает область интереса в исходном изображении 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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Скручивает область интереса в исходном изображении 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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Скручивает область интереса в исходном изображении 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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
Скручивает область интереса в исходном изображении 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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
vImageConvolveMultiKernel_ARGBFFFF (_: _: _: _: _: _: _: _: _: _: _:) vImageConvolveMultiKernel_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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
См. также
-
vImageConvolveMultiKernel_ARGB8888 (_: _: _: _: _: _: _: _: _: _: _: _:) vImageConvolveMultiKernel_ARGB8888
Скручивает каждый канал области интереса в исходном изображении 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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
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_ErrorObjective 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
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.4 и позже.
-
vImageGetMinimumTempBufferSizeForConvolution vImageGetMinimumTempBufferSizeForConvolution
(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.