Вы можете увидеть результат на изображении ниже. Исходное изображение - это только серый пиксель, результат должен быть таким, но размытым.странный gaussianBlur результат смещения умножения ядра, нежелательно дополненного.
Opencv не использует непосредственные соседние пиксели для Gaussian Blur, я предполагаю, что он делает своеобразное внутреннее дополнение. Почему это так, я понятия не имею, мое первоначальное предположение состояло в том, что он предполагает, что вектор имеет более одного канала, что не так. Вот как я создать резюме :: Маты для расчета и как я называю резюме :: gausianBlurr
std::vector<float> sobelCopy (sobel);
cv::Mat sobel_mat_copy(height,
width,
CV_32F,
sobelCopy.data());
cv::Mat sobel_mat(height,
width,
CV_32F,
sobel.data());
cv::GaussianBlur(sobel_mat_copy, sobel_mat, cv::Size(3,3), 0.0, 0.0, cv::BORDER_CONSTANT);