服务器之家

服务器之家 > 正文

Opencv实现联合双边滤波

时间:2022-01-20 14:53     来源/作者:时光碎了天

本文为大家分享了Opencv实现联合双边滤波的具体代码,供大家参考,具体内容如下

 

1.介绍

双边滤波是一种可以保边去噪的滤波器,主要是因为它的核比较特殊,公式(1)为它的调用公式,公式(2)为它的核公式,其中,大括号左边公式为空间域小核,和高斯滤波器是一样的,而大括号右边公式为值域小核(f表示取其灰度值),而对于联合双边滤波与双边滤波的区别主要在于值域小核所用到的图片,如果所用到的图片是引入的另外一幅图像,那么就是在使用联合双边滤波。

Opencv实现联合双边滤波(1)

Opencv实现联合双边滤波(2)

 

2.代码

此代码就是用联合双边滤波简单去一个噪声

#include<opencv2/opencv.hpp>
#include<ximgproc.hpp>

using namespace cv;


Mat addSaltNoise(const Mat srcImage, int n)
{
Mat dstImage = srcImage.clone();
for (int k = 0; k < n; k++)
{
//随机取值行列
int i = rand() % dstImage.rows;
int j = rand() % dstImage.cols;
//图像通道判定
if (dstImage.channels() == 1)
{
 dstImage.at<uchar>(i, j) = 255;  //盐噪声
}
else
{
 dstImage.at<Vec3b>(i, j)[0] = 255;
 dstImage.at<Vec3b>(i, j)[1] = 255;
 dstImage.at<Vec3b>(i, j)[2] = 255;
}
}
for (int k = 0; k < n; k++)
{
//随机取值行列
int i = rand() % dstImage.rows;
int j = rand() % dstImage.cols;
//图像通道判定
if (dstImage.channels() == 1)
{
 dstImage.at<uchar>(i, j) = 0;  //椒噪声
}
else
{
 dstImage.at<Vec3b>(i, j)[0] = 0;
 dstImage.at<Vec3b>(i, j)[1] = 0;
 dstImage.at<Vec3b>(i, j)[2] = 0;
}
}
return dstImage;
}


int main() {
Mat src = imread("test.png", 1);
src = addSaltNoise(src, 3000);

Mat joint = imread("test.png", 0);

Mat dst;
int64 begin = cvGetTickCount();
ximgproc::jointBilateralFilter(joint, src, dst, -1, 3, 9);
int64 end = cvGetTickCount();

float time = (end - begin) / (cvGetTickFrequency() * 1000.);
printf("time= %fms\n", time);


imshow("src", src);
imshow("joint", joint);
imshow("jointBilateralFilter", dst);
waitKey(0);

return 0;
}

原图:

Opencv实现联合双边滤波

噪声图:

Opencv实现联合双边滤波

导向图片:

Opencv实现联合双边滤波

结果图(去噪之后的图片和原图很接近呀)

Opencv实现联合双边滤波

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/u013289254/article/details/103672895

标签:

相关文章

热门资讯

蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整
蜘蛛侠3英雄无归3正片免费播放 蜘蛛侠3在线观看免费高清完整 2021-08-24
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
返回顶部