Matlab';OpenCV中的s-diff
我在OpenCV中搜索了一个类似于matlab中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中实现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)不要在评论中添加更新。编辑您的问题以包括您的代码,并添加示例输入、预期输出和收到的输出。请阅读如何发布。您还应该看看您的内核
。我认为这不是您所期望的。您是否仍然有问题,或者您是否解决了它?