当前位置: 首页 > news >正文

【c++|opencv】二、灰度变换和空间滤波---3.均值滤波

every blog every motto: You can do more than you think.
https://blog.csdn.net/weixin_39190382?type=blog

0. 前言

均值滤波

1. 均值滤波

#include <iostream>
#include <opencv2/opencv.hpp>
#include"Salt.h"using namespace cv;
using namespace std;// 定义盒式滤波器
void myfilter(int filter_size,Mat& img_input,Mat& img_output);int main(){Mat img,img_gray,img_output,img_output2;img = imread("/home/v/home.png");if (img.empty()){cout<<"can not load image"<<endl;return -1;}cvtColor(img,img_gray,COLOR_BGR2GRAY);Salt(img_gray,5000);  imshow("img_gray",img_gray);// 自定义滤波int filter_size = 7;myfilter(filter_size,img_gray,img_output);// opencv 自带滤波blur(img_gray,img_output2,Size(filter_size,filter_size));imshow("img out 1",img_output);imshow("img out 2",img_output2);waitKey(0);return 0;
}// 盒式滤波
void myfilter(int filter_size,Mat& img_input,Mat& img_output){img_output = img_input.clone();int k = (filter_size - 1)/2;for (int i = k;i<(img_input.rows - k);i++){for (int j = k;j<(img_input.cols - k);j++){int sum = 0;for (int m = -k;m<k+1;m++){for (int n=-k;n<k+1;n++){sum += img_input.at<uchar>(i+m,j+n);}}img_output.at<uchar>(i,j) = sum/(filter_size*filter_size);}}
}

在这里插入图片描述

相关文章:

  • Python武器库开发-常用模块之base64模块(十四)
  • [Unity][VR]透视开发系列4-解决只看得到Passthrough但看不到Unity对象的问题
  • linux远程桌面管理工具xrdp
  • 3D医学三维技术影像PACS系统源码
  • 【不用开发板学习STM32】可设置电子时钟
  • 基于Springboot+MYSQL+Maven实现的宠物医院管理系统(源码+数据库+运行指导文档+项目运行指导视频)
  • 大数据前置学习基础准备(非常详细!)
  • 设计模式——观察者模式(Observer Pattern)+ Spring相关源码
  • 汽车托运如何确保安全
  • 企业工程项目管理系统源码(三控:进度组织、质量安全、预算资金成本、二平台:招采、设计管理)
  • 【蓝桥杯 第十四届省赛Java B组】真题训练(A - C)正在更新
  • 什么是神经网络,它的原理是啥?(1)
  • C++二分查找算法的应用:俄罗斯套娃信封问题
  • 开发环境配置之Linux安装golang
  • 【vscode】Window11环境下vscode使用Fira Code字体【教程】
  • [笔记] php常见简单功能及函数
  • 【腾讯Bugly干货分享】从0到1打造直播 App
  • ES6简单总结(搭配简单的讲解和小案例)
  • Intervention/image 图片处理扩展包的安装和使用
  • Java Agent 学习笔记
  • mysql 5.6 原生Online DDL解析
  • Python利用正则抓取网页内容保存到本地
  • Spring-boot 启动时碰到的错误
  • Vue.js源码(2):初探List Rendering
  • 后端_MYSQL
  • 使用API自动生成工具优化前端工作流
  • hi-nginx-1.3.4编译安装
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 浅谈sql中的in与not in,exists与not exists的区别
  • # 手柄编程_北通阿修罗3动手评:一款兼具功能、操控性的电竞手柄
  • #宝哥教你#查看jquery绑定的事件函数
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • %@ page import=%的用法
  • (4)事件处理——(7)简单事件(Simple events)
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)ssm基于web技术的医务志愿者管理系统 毕业设计 100910
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (亲测有效)解决windows11无法使用1500000波特率的问题
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (五)大数据实战——使用模板虚拟机实现hadoop集群虚拟机克隆及网络相关配置
  • (一) storm的集群安装与配置
  • (总结)Linux下的暴力密码在线破解工具Hydra详解
  • .mat 文件的加载与创建 矩阵变图像? ∈ Matlab 使用笔记
  • .NET/C# 项目如何优雅地设置条件编译符号?
  • /usr/bin/env: node: No such file or directory
  • :中兴通讯为何成功
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [ web基础篇 ] Burp Suite 爆破 Basic 认证密码
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [145] 二叉树的后序遍历 js
  • [2]十道算法题【Java实现】
  • [2018/11/18] Java数据结构(2) 简单排序 冒泡排序 选择排序 插入排序
  • [20181219]script使用小技巧.txt