这篇文章主要为大家详细介绍了OpenCV实现可分离滤波,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
网站设计制作过程拒绝使用模板建站;使用PHP+MYSQL原生开发可交付网站源代码;符合网站优化排名的后台管理系统;成都做网站、网站制作收费合理;免费进行网站备案等企业网站建设一条龙服务.我们是一家持续稳定运营了十年的成都创新互联网站建设公司。
无论是图像卷积还是滤波,在原图像上移动滤波器的过程中每一次的计算结果都不会影响到后面过程的计算结果,因此图像滤波是一个并行的算法,在可以提供并行计算的处理器中可以极大的加快图像滤波的处理速度。
先对X(Y)方向滤波,再对Y(X)方向滤波的结果与将两个方向的滤波器联合后整体滤波的结果相同。两个方向的滤波器的联合就是将两个方向的滤波器相乘,得到一个矩形的滤波器
详细介绍OpenCV实现可分离滤波详细介绍OpenCV实现可分离滤波
void filter2D( InputArray src, OutputArray dst, int ddepth,
InputArray kernel, Point anchor = Point(-1,-1),
double delta = 0, int borderType = BORDER_DEFAULT );
void sepFilter2D( InputArray src, OutputArray dst, int ddepth,
InputArray kernelX, InputArray kernelY,
Point anchor = Point(-1,-1),
double delta = 0, int borderType = BORDER_DEFAULT );
//
// Created by smallflyfly on 2021/6/15.
//
#include "opencv2/highgui.hpp"
#include "opencv2/opencv.hpp"
#include
using namespace std;
using namespace cv;
int main() {
float points[] = {
1, 2, 3, 4, 5,
6, 7, 8, 9, 10,
11, 12, 13, 14, 15,
16, 17, 18, 19, 20,
21, 22, 23, 24, 25
};
Mat data(5, 5, CV_32FC1, points);
// 验证高斯滤波器可分离
Mat gaussX = getGaussianKernel(3, 1);
cout "######################################" "test.jpg");
resize(im, im, Size(0, 0), 0.5, 0.5);
Mat imX, imY, imXY, imSepXY;
filter2D(im, imX, -1, b);
filter2D(imX, imXY, -1, a);
sepFilter2D(im, imSepXY, -1, a, b);
imshow("imXY", imXY);
imshow("imSepXY", imSepXY);
waitKey(0);
destroyAllWindows();
return 0;
}
本文标题:通过OpenCV实现可分离滤波
当前路径:http://www.shufengxianlan.com/qtweb/news2/210102.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联