opencv medianBlur均值滤波
关于medianBlur的介绍,网上有很多很好的文章,本文主要是自己的测试。
中值滤波(Median filter)是一种典型的非线性滤波技术,基本思想是用像素点邻域灰度值的中值来代替该像素点的灰度值,该方法在去除脉冲噪声、椒盐噪声的同时又能保留图像边缘细节.
medianBlur采用的不是默认的边缘填充,而是用BORDER_REPLICATE方式进行的填充。
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
void median(const Mat src,int kSize)
{Mat temp;int border = kSize / 2;copyMakeBorder(src, temp, border, border, border, border, BORDER_REPLICATE);cout << "原始数据经过BORDER_REPLICATE填充:" << endl;cout << temp << endl << endl;Mat median(src.rows, src.cols, CV_8UC1);for(int i=0;i<temp.rows-2* border;i++)for (int j = 0; j < temp.cols-2* border;j++){Rect rect(j,i, kSize, kSize);Mat clip = temp(rect).clone(); sort(clip.data, clip.data+kSize* kSize);median.at<uchar>(i, j) = clip.data[kSize*kSize/2];}cout << "排序取中间值后:" << endl;cout << median << endl;
}
int main(int argc, char** argv) {Mat src(4,4,CV_8UC1);RNG rng; uchar *data = src.data;for (int i = 0; i < src.rows; i++){for (int j = 0; j < src.cols; j++){*(data++) = rng.operator uchar();}}cout << "原始数据:" << endl;cout << src << endl << endl;Mat dst;medianBlur(src, dst, 3);cout << "medianBlur处理后的数据:" << endl;cout << dst << endl << endl;median(src,3);imshow("result", src);waitKey(0);return 0;
}
程序输出:
opencv medianBlur均值滤波相关推荐
- opencv学习-均值滤波blur
概念: 什么是均值滤波?我们先从概念和原理上来理解什么是均值滤波.均值滤波是一种典型的线性滤波算法,主要是利用像素点邻域的像素值相加然后取平均值即为该像素点的新的像素值. openv 提供方法blur ...
- opencv均值滤波,方盒滤波,cv2.boxFilter,cv2blur
均值滤波 opencv使用均值滤波是通过cv2.blur来实现的,原理十分简单,就是根据周围取平均值 下面对方法进行介绍 def blur(src, ksize, dst=None, anchor=N ...
- Python 图像处理 | 图像平滑之均值滤波、方框滤波、高斯滤波及中值滤波
作者 | 杨秀璋,责编 | 夕颜 题图 | 视觉中国 出品 | CSDN博客 本篇文章主要讲解Python调用OpenCV实现图像平滑,包括四个算法:均值滤波.方框滤波.高斯滤波和中值滤波.全文均是 ...
- 图像处理:均值滤波算法
目录 前言 概念介绍 基本原理 Opencv实现均值滤波 Python手写实现均值滤波 参考文章 前言 在此之前,我曾在此篇中推导过图像处理:推导五种滤波算法(均值.中值.高斯.双边.引导).这在此基 ...
- 【图像处理】——图像滤波(Python+opencv实现三种方法:均值滤波、中值滤波、高斯滤波等)
目录 一.什么是滤波以及滤波的目的? 二.均值滤波(cv2.blur()) 1.原理 2.关键代码 3.封装代码 二.中值滤波(cv2.medianBlur()) 1.原理 2.关键代码 3.封装代码 ...
- opencv blur函数——均值滤波
本文参考网址: OpenCV成长之路(7):图像滤波 openCV 低通滤波blur函数 opencv-均值滤波blur解析 [OpenCV入门教程之八]线性邻域滤波专场:方框滤波.均值滤波与高斯滤波 ...
- 《OpenCv视觉之眼》Python图像处理五 :Opencv图像去噪处理之均值滤波、方框滤波、中值滤波和高斯滤波
本专栏主要介绍如果通过OpenCv-Python进行图像处理,通过原理理解OpenCv-Python的函数处理原型,在具体情况中,针对不同的图像进行不同等级的.不同方法的处理,以达到对图像进行去噪.锐 ...
- Opencv之图像滤波:5.中值滤波(cv2.medianBlur)
之前介绍的均值滤波.方框滤波.高斯滤波,都是线性滤波方式.由于线性滤波的结果是所有像素值的线性组合,因此含有噪声的像素也会被考虑进去,噪声不会被消除,而是以更柔和的方式存在.这时使用非线性滤波效果可能 ...
- 【OpenCV 4开发详解】均值滤波
本文首发于"小白学视觉"微信公众号,欢迎关注公众号 本文作者为小白,版权归人民邮电出版社发行所有,禁止转载,侵权必究! 经过几个月的努力,小白终于完成了市面上第一本OpenCV 4 ...
最新文章
- 计算机管理信息系统大作业,管理信息系统期末大作业
- Math.round(11.5)等于多少? Math.round(-11.5)等于多少?
- Chrome 私人珍藏-stylus插件实现个性化百度界面定制
- 讲讲我和Spring创始级程序员共同review代码的故事
- 竞赛发布|100万奖金寻DT时代“最强大脑”!
- 谈一谈自己对依赖、关联、聚合和组合之间区别的理解
- 《信息安全系统设计基础》 第五周学习总结
- 计算机考研计划时间,2019计算机考研时间安排:复习时间规划
- 区块链相关数据报表_区块链相关论文研读5:分布式隐私保护可审计的账本,zkLedger...
- hdu 4421(枚举+2-sat)
- [转载] 民兵葛二蛋——第10集
- 基本操作?这46个 Linux 面试常见问题送给你
- 【实用软件】电脑wifi密码查看器
- Oracle数据库常用的管理工具介绍
- IconFont使用方式简介
- FlexBox 行间距
- 学生信息管理系统-结构体编写
- 红黑树(一)的原理和算法详细介绍
- 中国大陆地区W酒店推出全新夏日计划“幻梦一夏”
- linux根分区写保护,目录写保护,求助大神
热门文章
- IT架构师_隽语集(Design Thinking _0201)
- 小窍门解决大问题(绝对值得收藏)
- 程序员的蜕变之旅-健身
- 修复Ubuntu文件系统
- Docker手把手教程(一)概述 安装
- 最大规模开源说话人识别语料集——VoxCeleb
- cogs 448. 神牛果 神奇好理解的思路
- 正确处理闲置报废的电子垃圾
- 可用于SDR的C语言纠错编码通用算法收集(1)-朴素字典查表BCH纠错
- catdog matlab,猫狗1,猫狗1百度云资源_盘多多如风搜_盘搜搜_哎哟喂啊