【OpenCV】图像平滑
来源:互联网 发布:澳大利亚同性婚姻知乎 编辑:程序博客网 时间:2024/06/01 20:35
图像平滑
平滑是smoothing,也称blurring。在图像处理中经常用到,其中一个用途就是降噪。图像平滑通过滤波器来实现,h(k,l)是掩模:
常用平滑滤波器有:
1. 归一化滤波器: 输出像素值是核窗口内像素值的均值 ( 所有像素加权系数相等)。
2. 高斯滤波器: 高斯滤波是将输入数组的每一个像素点与高斯内核卷积,将卷积和当作输出像素值。
3. 中值滤波器:新像素值用邻域中像素的中值代替 。
4. 双边滤波器:保边去噪,避免模糊边缘。
代码示例
#include "opencv2/imgproc.hpp"#include "opencv2/imgcodecs.hpp"#include "opencv2/highgui.hpp"#include <iostream>using namespace std;using namespace cv;int KERNEL_LENGTH = 15;Mat src, dst;int main(int argc, char** argv){ const char* filename = "../data/lena.jpg"; src = imread(filename, IMREAD_COLOR); if (src.empty()) { printf("Error Opening Image"); return -1; } imshow("src", src); blur(src, dst, Size(KERNEL_LENGTH, KERNEL_LENGTH), Point(-1, -1)); // 归一化滤波 imshow("Normalized Block Filter", dst); GaussianBlur(src, dst, Size(KERNEL_LENGTH, KERNEL_LENGTH), 0, 0); // 高斯滤波 imshow("Gaussian Filter", dst); medianBlur(src, dst, KERNEL_LENGTH); // 中值滤波 imshow("Median Filter", dst); bilateralFilter(src, dst, KERNEL_LENGTH, KERNEL_LENGTH * 2, KERNEL_LENGTH / 2); // 双边滤波 imshow("Bilateral Filter", dst); waitKey(0); return 0;}
运行结果
阅读全文
0 0
- 【opencv】图像平滑处理
- opencv图像平滑处理
- 基于OpenCV平滑图像
- opencv图像平滑处理
- opencv图像平滑
- opencv平滑图像
- 【OpenCV】图像平滑
- opencv(十)---图像平滑
- OpenCV图像变换----图像平滑
- OpenCV-图像输入输出(平滑处理)
- OpenCV之图像平滑处理
- opencv图像的平滑(6)
- opencv 2 图像平滑处理
- OpenCV学习之图像平滑
- opencv-python(10):图像平滑
- OpenCV GaussianBlur() 图像平滑滤波
- OpenCV图像处理篇之图像平滑
- OpenCV 图像处理——平滑操作
- 总结一下回武汉的笔试面试
- php中静态变量和普通变量的区别
- Python函数式编程——map()、reduce()
- Http通信
- HDU
- 【OpenCV】图像平滑
- Laravel 在构造方法中使用session
- Java屏幕截图及剪裁
- 系统测试之测试对象与测试级别(二)
- HBase踩过的坑——持续更新
- Hexo: TypeError: Cannot set property 'lastIndex' of undefined
- leetcode two sum
- 赫夫曼树困惑点
- Java常用的八种排序算法与代码实现