0

您可以在下图中看到结果。原始图像只是一个灰色像素,结果应该是这样但模糊。

Opencv 没有使用高斯模糊的直接相邻像素,我猜它正在做某种内部填充。为什么这样做我不知道,我最初的猜测是它假设向量有多个通道,但事实并非如此。这是我如何创建用于计算的 cv::Mats 以及我如何调用 cv::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);

图片生成的图像

4

1 回答 1

0

已修复,这与我订购向量的方式有关,我有列专业,cv::Mat 假设它是行专业订购。

在此处输入图像描述

于 2016-09-21T13:11:23.700 回答