Я нашел способ. Я повторяю матрицу, затем размываю, затем извлекаю диапазон.
GaussianBlur(repeat(points, 3, 1), ret, cv::Size(0,0), sigma);
int rows = points.rows;
result = Mat(result, Range(rows, 2 * rows - 1), Range::all());
Это требует дополнительной работы (и дополнительного места?).
Редактировать : теперь я вручную расширяю points
, копируя (упаковывая) столько точек, сколько требуется ядру. Затем я обрезаю лишние очки. Это похоже на вышесказанное, но тратит меньше места и времени.