Ссылка Морфологии vImage
Морфологические функции изменяют форму объекта путем выполнения расширения, эрозии, максимума и минимальных операций. Расширение разворачивает объекты. Эрозия заключает их. В то время как минимум является особым случаем эрозии, максимум является особым случаем расширения. Точный характер расширения или уменьшения определяется ядром (также известный как элемент структуры) предоставленный вызывающей стороной. Число строк и число столбцов изображения не изменяются после применения морфологической работы.
Можно использовать морфологические функции на полутоновых изображениях, где исходное изображение планарное (одноканальный) или на полноцветных изображениях. Само ядро является всегда планарным.
vImage применяет морфологические операции к объекту, который не является тем же как всем изображением. Объект или состоится из самых ярких пикселей в изображении или самых темных пикселей в изображении, где яркость определяется относительно определенного изображения. При определении ярких пикселей как объекта темные пиксели становятся фоном. В этом случае расширяется расширение, объекты с эрозией заключает их. При определении темных пикселей как объекта яркие пиксели становятся фоном. В этом случае объекты договоров расширения и эрозия разворачивают их.
Каждая морфологическая функция требует, чтобы Вы передали ее ядро свертки, определяющее, как значения соседних пикселей используются для вычислений значения целевого пикселя. Ядро является упакованным массивом, не дополняя в концах строк. Элементы массива должны иметь тип uint8_t
(для Planar8 и форматов ARGB8888) или типа float
(для PlanarF и форматов ARGBFFFF). Высота и ширина массива должны оба быть нечетными числами.
Например, 3 x 3 ядра свертки для изображения Planar8 состоят из девяти 8-разрядных (1-байтовых) значений, расположенных последовательно. Первые три значения представляют первую строку ядра, следующие три значения вторая строка и последние три значения третья строка.
Функции морфологии выполняют отсечение для предотвращения переполнения для форматов ARGB8888 и Planar8. Влажное отсечение отображает все уровни яркости выше 255, к 255, все уровни яркости ниже 0, к 0, и оставляет уровни яркости между 0 и 255, содержащими, неизменными.
Когда пиксель, который будет преобразован, около края изображения — не просто область интереса, но всем изображением которого это - часть — ядро может расшириться вне края изображения, так, чтобы не было никаких существующих пикселей ниже некоторых элементов ядра. В этом случае функции морфологии только используют ту часть ядра, перекрывающего исходный буфер. Другие элементы ядра проигнорированы.
-
Расширяет область интереса в исходном изображении ARGBFFFF с помощью M x N ядро.
Объявление
Swift
func vImageDilate_ARGBFFFF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel
: UnsafePointer<Float>, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageDilate_ARGBFFFF ( const vImage_Buffer *src, const vImage_Buffer *dest, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const float *kernel, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel
Указатель на данные ядра, которые должны быть упакованным массивом без любого дополнения.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Это использование функции то же ядро для всех каналов. В дополнение к предоставлению пространства для конечного изображения,
dest
параметр также указывает размер области интереса в в исходном изображении. Область интереса имеет ту же высоту и ширину (в пикселях) как целевой буфер, на который указывает dest.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Расширяет область интереса в исходном изображении ARGB8888 с помощью M x N ядро.
Объявление
Swift
func vImageDilate_ARGB8888(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel
: UnsafePointer<UInt8>, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageDilate_ARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const unsigned char *kernel, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel
Указатель на данные ядра, которые должны быть упакованным массивом без любого дополнения. Функция использует то же ядро для всех каналов.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Расширяет область интереса в исходном изображении PlanarF с помощью M x N ядро.
Объявление
Swift
func vImageDilate_PlanarF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel
: UnsafePointer<Float>, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageDilate_PlanarF ( const vImage_Buffer *src, const vImage_Buffer *dest, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const float *kernel, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel
Указатель на данные ядра, которые должны быть упакованным массивом без любого дополнения.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Расширяет область интереса в исходном изображении Planar8 с помощью M x N ядро.
Объявление
Swift
func vImageDilate_Planar8(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel
: UnsafePointer<UInt8>, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageDilate_Planar8 ( const vImage_Buffer *src, const vImage_Buffer *dest, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const unsigned char *kernel, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel
Указатель на данные ядра, которые должны быть упакованным массивом без любого дополнения.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Разрушает область интереса в исходном изображении ARGBFFFF с помощью M x N ядро.
Объявление
Swift
func vImageErode_ARGBFFFF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel
: UnsafePointer<Float>, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageErode_ARGBFFFF ( const vImage_Buffer *src, const vImage_Buffer *dest, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const float *kernel, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel
Указатель на данные ядра, которые должны быть упакованным массивом без любого дополнения. Функция использует то же ядро для всех каналов.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Разрушает область интереса в исходном изображении ARGB8888 с помощью M x N ядро.
Объявление
Swift
func vImageErode_ARGB8888(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel
: UnsafePointer<UInt8>, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageErode_ARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const unsigned char *kernel, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel
Указатель на данные ядра, которые должны быть упакованным массивом без любого дополнения. Функция использует то же ядро для всех каналов.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Разрушает область интереса в исходном изображении PlanarF с помощью M x N ядро.
Объявление
Swift
func vImageErode_PlanarF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel
: UnsafePointer<Float>, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageErode_PlanarF ( const vImage_Buffer *src, const vImage_Buffer *dest, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const float *kernel, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel
Указатель на данные ядра, которые должны быть упакованным массивом без любого дополнения.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Разрушает область интереса в исходном изображении Planar8 с помощью M x N ядро.
Объявление
Swift
func vImageErode_Planar8(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel
: UnsafePointer<UInt8>, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageErode_Planar8 ( const vImage_Buffer *src, const vImage_Buffer *dest, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, const unsigned char *kernel, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel
Указатель на данные ядра, которые должны быть упакованным массивом без любого дополнения.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Максимизирует область интереса в исходном изображении ARGBFFFF с помощью M x N ядро.
Объявление
Swift
func vImageMax_ARGBFFFF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _tempBuffer
: UnsafeMutablePointer<Void>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageMax_ARGBFFFF ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
tempBuffer
Указатель на временный буфер. Если Вы передаете
NULL
, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Если Вы хотите выделить память для
tempBuffer
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Морфологическая работа Макс является особым случаем работы расширения. В Макс. работе все элементы ядра имеют то же значение. Фактическое значение не имеет значения; только размер ядра является значительным. vImage оптимизирует этот особый случай, таким образом, Макс. функция значительно быстрее, чем Расширять функция, вызванная с универсальным ядром.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Максимизирует область интереса в исходном изображении ARGB8888 с помощью M x N ядро.
Объявление
Swift
func vImageMax_ARGB8888(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _tempBuffer
: UnsafeMutablePointer<Void>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageMax_ARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
tempBuffer
Указатель на временный буфер. Если Вы передаете
NULL
, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение. УстановитеkvImageGetTempBufferSize
отметьте, если Вы хотите определить минимальный размер для выделения дляtempBuffer
параметр.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Если Вы хотите выделить память для
tempBuffer
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Морфологическая работа Макс является особым случаем работы расширения. В Макс. работе все элементы ядра имеют то же значение. Фактическое значение не имеет значения; только размер ядра является значительным. vImage оптимизирует этот особый случай, таким образом, Макс. функция значительно быстрее, чем Расширять функция, вызванная с универсальным ядром.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Максимизирует с областью интереса в исходном изображении PlanarF с помощью M x N ядро.
Объявление
Swift
func vImageMax_PlanarF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _tempBuffer
: UnsafeMutablePointer<Void>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageMax_PlanarF ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
tempBuffer
Указатель на временный буфер. Если Вы передаете
NULL
, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Если Вы хотите выделить память для
tempBuffer
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Морфологическая работа Макс является особым случаем работы расширения. В Макс. работе все элементы ядра имеют то же значение. Фактическое значение не имеет значения; только размер ядра является значительным. vImage оптимизирует этот особый случай, таким образом, Макс. функция значительно быстрее, чем Расширять функция, вызванная с универсальным ядром.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Максимизирует область интереса в исходном изображении Planar8 с помощью M x N ядро.
Объявление
Swift
func vImageMax_Planar8(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _tempBuffer
: UnsafeMutablePointer<Void>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageMax_Planar8 ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
tempBuffer
Указатель на временный буфер. Если Вы передаете
NULL
, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Если Вы хотите выделить память для
tempBuffer
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Морфологическая работа Макс является особым случаем работы расширения. В Макс. работе все элементы ядра имеют то же значение. Фактическое значение не имеет значения; только размер ядра является значительным. vImage оптимизирует этот особый случай, таким образом, Макс. функция значительно быстрее, чем Расширять функция, вызванная с универсальным ядром.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Минимизирует область интереса в исходном изображении ARGBFFFF с помощью M x N ядро.
Объявление
Swift
func vImageMin_ARGBFFFF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _tempBuffer
: UnsafeMutablePointer<Void>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageMin_ARGBFFFF ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
tempBuffer
Указатель на временный буфер. Если Вы передаете
NULL
, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Если Вы хотите выделить память для
tempBuffer
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Морфологическая операция Min является особым случаем работы эрозии. В операции Мин все элементы ядра имеют то же значение. Фактическое значение не имеет значения; только размер ядра является значительным. vImage оптимизирует этот особый случай, таким образом, функция Мин значительно быстрее, чем Разрушать функция, вызванная с универсальным ядром.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Минимизирует область интереса в исходном изображении ARGB8888 с помощью M x N ядро.
Объявление
Swift
func vImageMin_ARGB8888(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _tempBuffer
: UnsafeMutablePointer<Void>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageMin_ARGB8888 ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
tempBuffer
Указатель на временный буфер. Если Вы передаете
NULL
, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Если Вы хотите выделить память для
tempBuffer
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Морфологическая операция Min является особым случаем работы эрозии. В операции Мин все элементы ядра имеют то же значение. Фактическое значение не имеет значения; только размер ядра является значительным. vImage оптимизирует этот особый случай, таким образом, функция Мин значительно быстрее, чем Разрушать функция, вызванная с универсальным ядром.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Минимизирует область интереса в исходном изображении PlanarF с помощью M x N ядро.
Объявление
Swift
func vImageMin_PlanarF(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _tempBuffer
: UnsafeMutablePointer<Void>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageMin_PlanarF ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
tempBuffer
Указатель на временный буфер. Если Вы передаете
NULL
, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Если Вы хотите выделить память для
tempBuffer
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Морфологическая операция Min является особым случаем работы эрозии. В операции Мин все элементы ядра имеют то же значение. Фактическое значение не имеет значения; только размер ядра является значительным. vImage оптимизирует этот особый случай, таким образом, функция Мин значительно быстрее, чем Разрушать функция, вызванная с универсальным ядром.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Минимизирует область интереса в исходном изображении Planar8 с помощью M x N ядро.
Объявление
Swift
func vImageMin_Planar8(_
src
: UnsafePointer<vImage_Buffer>, _dest
: UnsafePointer<vImage_Buffer>, _tempBuffer
: UnsafeMutablePointer<Void>, _srcOffsetToROI_X
: vImagePixelCount, _srcOffsetToROI_Y
: vImagePixelCount, _kernel_height
: vImagePixelCount, _kernel_width
: vImagePixelCount, _flags
: vImage_Flags) -> vImage_ErrorObjective C
vImage_Error vImageMin_Planar8 ( const vImage_Buffer *src, const vImage_Buffer *dest, void *tempBuffer, vImagePixelCount srcOffsetToROI_X, vImagePixelCount srcOffsetToROI_Y, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags );
Параметры
src
Указатель на vImage буферизует структуру, содержащую данные для исходного изображения.
dest
Указатель на vImage буферизует структуру данных. Вы ответственны за заполнение
height
,width
, иrowBytes
поля этой структуры, и для выделения буфера данных надлежащего размера. По возврату буфер данных, на который указывает эта структура, содержит данные конечного изображения. Когда Вам больше не нужен буфер данных, необходимо освободить память.Размер (число строк и число столбцов) целевого буфера также указывает размер области интереса к исходному буферу.
tempBuffer
Указатель на временный буфер. Если Вы передаете
NULL
, функция выделяет буфер, затем освобождает его перед возвратом. Также можно выделить буфер сами, когда Вы ответственны за освобождение его, когда Вы больше не потребность он.Если Вы хотите выделить буфер сами, посмотрите Обсуждение для получения информации о том, как определить минимальный размер, который необходимо выделить.
srcOffsetToROI_X
Горизонтальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
srcOffsetToROI_Y
Вертикальное смещение, в пикселях, к верхнему левому пикселю области интереса в исходном изображении.
kernel_height
Высота ядра в пикселях. Это значение должно быть нечетным.
kernel_width
Ширина ядра в пикселях. Это значение должно быть нечетным.
flags
Опции использовать при выполнении морфологической работы. Установите
kvImageDoNotTile
отметьте, если Вы планируете выполнить свою собственную многопоточность мозаичного размещения или использования. УстановитеkvImageLeaveAlphaUnchanged
флаг, чтобы указать, что альфа-канал должен быть скопирован в неизменное конечное изображение.Возвращаемое значение
kvImageNoError
, иначе это возвращает один из кодов ошибки, описанных в vImage Ссылке Типов данных и Констант.Обсуждение
Если Вы хотите выделить память для
tempBuffer
параметр самостоятельно, вызовите эту функцию дважды, следующим образом:Для определения минимального размера для временного буфера в первый раз, Вы вызываете эту функциональную передачу
kvImageGetTempBufferSize
флаг. Передайте те же значения для всех других параметров, в которых Вы намереваетесь использовать для второго вызова. Функция возвращает требуемый минимальный размер, который должен быть положительным значением. (Отрицательное возвращенное значение указывает ошибку.)kvImageGetTempBufferSize
флаг препятствует тому, чтобы функция выполнила любую обработку кроме определить минимальный размер буфера.После того, как Вы выделяете достаточно площади для буфера возвращенного размера, вызываете функцию во второй раз, передавая допустимый указатель в
tempBuffer
параметр. На сей раз не передавайтеkvImageGetTempBufferSize
флаг.
Морфологическая операция Min является особым случаем работы эрозии. В операции Мин все элементы ядра имеют то же значение. Фактическое значение не имеет значения; только размер ядра является значительным. vImage оптимизирует этот особый случай, таким образом, функция Мин значительно быстрее, чем Разрушать функция, вызванная с универсальным ядром.
Оператор импорта
Objective C
@import Accelerate;
Swift
import Accelerate
Доступность
Доступный в OS X v10.3 и позже.
-
Возвращает минимальный размер, в байтах, для временного буфера, что вызывающая сторона предоставляет к любой из Минут или Макса морфологические функции.
Оператор осуждения
Используйте
kvImageGetTempBufferSize
флаг с надлежащей морфологической функцией вместо того, чтобы вызвать эту функцию.Объявление
Objective C
size_t vImageGetMinimumTempBufferSizeForMinMax ( const vImage_Buffer *src, const vImage_Buffer *dest, vImagePixelCount kernel_height, vImagePixelCount kernel_width, vImage_Flags flags, size_t bytesPerPixel );
Параметры
src
Указатель на vImage буферизует структуру, которую Вы планируете передать Макс. функции или Минуте.
dest
Указатель на vImage буферизует структуру, которую Вы планируете передать Макс. функции или Минуте.
kernel_height
Высота, в пикселях, ядра, которое Вы планируете передать Макс. функции или Минуте.
kernel_width
Ширина, в пикселях, ядра, которое Вы планируете передать Макс. функции или Минуте.
flags
Флаги, которые Вы планируете передать Макс. функции или Минуте.
pixelBytes
Число байтов в пикселе. Удостоверьтесь, что передали значение, подходящее для формата пикселя.
Возвращаемое значение
Минимальный размер, в байтах, временного буфера.
Обсуждение
Эта функция использует
height
иwidth
поля отsrc
илиdest
параметры; это не используетdata
илиrowBytes
поля. Если размер изображений, которые Вы обрабатываете, остается тем же, то требуемый размер буфера также остается тем же. Более в частности, если, между двумя вызовами кvImageGetMinimumTempBufferSizeForMinMax
,height
иwidth
изsrc
иdest
параметры не увеличиваются, и другие параметры остаются тем же, тогда результатvImageGetMinimumTempBufferSizeForMinMax
не увеличивается. Это упрощает снова использовать тот же временный буфер при обработке многих изображений того же размера как Вы были бы при мозаичном размещении.Оператор импорта
Objective C
@import Accelerate;
Доступность
Доступный в OS X v10.3 и позже.
Осуждаемый в OS X v10.4.