Я пишу пользовательские фильтры Core Image, и мне трудно понять, что такое extent
метод CIKernel
apply
.
Во всей документации и беседах с WWDC я обнаружил, что она описывается как «область определения ядра», поэтому область, для которой ядро дает значимые ненулевые результаты.
Из этого определения я бы предположил , что экстент вывода ядра свертки совпадает с экстентом входного изображения, поскольку свертка всегда объединяет несколько входных значений в one выходное значение. Но в примерах, которые я обнаружил, и из наблюдений за поведением встроенных ядер, таких как CIGaussianBlur
, выходной экстент всегда больше входного (в зависимости от размера, если ядро свертки).
Я не понимаю, почему. Почему ядро должно выдавать результаты для пикселей, которые находятся за пределами исходного входного домена?