Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Matlab';OpenCV中的s-diff_Matlab_Opencv_Image Processing_Computer Vision - Fatal编程技术网

Matlab';OpenCV中的s-diff

Matlab';OpenCV中的s-diff,matlab,opencv,image-processing,computer-vision,Matlab,Opencv,Image Processing,Computer Vision,我在OpenCV中搜索了一个类似于matlab中diff的函数,但没有找到, 实际上,我想在OpenCV中实现wls过滤器matlab,正如@Bicker在评论中指出的那样,它是一个[-11]内核,这只是实现它的代码 cv::Mat Kernely = (cv::Mat_<float>(2, 1) << -1, 1); cv::Mat Kernelx = (cv::Mat_<float>(1, 2) << -1, 1); cv::Mat dx, d

我在OpenCV中搜索了一个类似于matlab中diff的函数,但没有找到,

实际上,我想在OpenCV中实现wls过滤器matlab,正如@Bicker在评论中指出的那样,它是一个[-11]内核,这只是实现它的代码

cv::Mat Kernely = (cv::Mat_<float>(2, 1) << -1, 1);
cv::Mat Kernelx = (cv::Mat_<float>(1, 2) << -1, 1);
cv::Mat dx, dy;
cv::filter2D(L, dy, -1, Kernely, cv::Point(-1, -1), 0.0, cv::BORDER_CONSTANT);
// Remove padding and take the abs of the output
dy = cv::Mat(dy, cv::Rect(0, 1, dy.cols, dy.rows - 1));
dy = cv::abs(dy);
cv::filter2D(L, dx, -1, Kernelx, cv::Point(-1, -1), 0.0, cv::BORDER_CONSTANT);
dx = cv::Mat(dx, cv::Rect(1, 0, dx.cols - 1, dx.rows));
dx = cv::abs(dx);

cv::Mat Kernely=(cv::Mat_u2,1)
diff
只是一个内核为
[-1]
的过滤器。我实际使用了它,cv::Mat kernel=(cv::Mat_2,1)不要在评论中添加更新。编辑您的问题以包括您的代码,并添加示例输入、预期输出和收到的输出。请阅读如何发布。您还应该看看您的
内核
。我认为这不是您所期望的。您是否仍然有问题,或者您是否解决了它?