本文主要是介绍OpenCV10中值模糊去噪点-双边模糊美化人像,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
/*模糊图像2-txwtech2021.4.1
中值滤波
双边滤波
统计排序滤波器
中值对椒盐噪声有很好的抑制作用.椒盐噪声就是图片的黑白噪点
双边滤波
均值模糊无法克服边缘像素信息丢失缺陷。原因是均值滤波是基于平均权重
高斯模糊部分克服了该缺陷,但是无法完全避免,因为没有考虑像素值的不同
高斯双边模糊 – 是边缘保留的滤波方法,避免了边缘信息丢失,保留了图像轮廓不变
中值模糊medianBlur(Mat src, Mat dest, ksize)//去噪点
双边模糊bilateralFilter(src, dest, d=15, 150, 3);//美化人像,人脸磨皮,
- 15 –计算的半径,半径之内的像数都会被纳入计算,如果提供-1 则根据sigma space参数取值
- 150 – sigma color 决定多少差值之内的像素会被计算
- 3 – sigma space 如果d的值大于0则声明无效,否则根据它来计算d值
中值模糊的ksize大小必须是大于1而且必须是奇数。
*/
//
/*模糊图像2-txwtech2021.4.1
中值滤波
双边滤波
统计排序滤波器
中值对椒盐噪声有很好的抑制作用.椒盐噪声就是图片的黑白噪点双边滤波
均值模糊无法克服边缘像素信息丢失缺陷。原因是均值滤波是基于平均权重高斯模糊部分克服了该缺陷,但是无法完全避免,因为没有考虑像素值的不同高斯双边模糊 – 是边缘保留的滤波方法,避免了边缘信息丢失,保留了图像轮廓不变中值模糊medianBlur(Mat src, Mat dest, ksize)//去噪点
双边模糊bilateralFilter(src, dest, d=15, 150, 3);//美化人像,人脸磨皮,- 15 –计算的半径,半径之内的像数都会被纳入计算,如果提供-1 则根据sigma space参数取值
- 150 – sigma color 决定多少差值之内的像素会被计算
- 3 – sigma space 如果d的值大于0则声明无效,否则根据它来计算d值
中值模糊的ksize大小必须是大于1而且必须是奇数。*/
#include <opencv2/opencv.hpp>
#include<iostream>
using namespace std;
using namespace cv;int main(int argc, char *argv[])
{Mat src;Mat dst2;src = imread("E:\\pictures\\dog1.jpg", CV_LOAD_IMAGE_ANYCOLOR);if (!src.data){printf("failed to load image");return -1;}char pic_title[] = "orginal pics";char median_title[] = "median pics";char bilateral_title[] = "bilateral pics";namedWindow(pic_title,CV_WINDOW_AUTOSIZE);namedWindow(median_title, CV_WINDOW_AUTOSIZE);namedWindow(bilateral_title, CV_WINDOW_AUTOSIZE);//中值滤波,去噪点medianBlur(src,dst2,5);imshow(pic_title, src);imshow(median_title, dst2);//双边滤波。//美化人像,人脸磨皮,bilateralFilter(src,dst2,15,150,3);imshow(bilateral_title, dst2);waitKey(0);return 0;
}
这篇关于OpenCV10中值模糊去噪点-双边模糊美化人像的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!