当前位置: 首页 > 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);}}
}

在这里插入图片描述

http://www.lryc.cn/news/213238.html

相关文章:

  • 【Arduino环境下驱动合宙esp32c3单片机基本外设】
  • 一站式迁移,人大金仓助力大地保险业务无感升级
  • 基于SSM的模具制造企业订单跟踪管理系统设计与实现
  • 计算机基础知识41
  • requests之get请求实例-百度搜索
  • Linux进程程序替换
  • Istio实战(九)-Envoy 流量劫持
  • Node.js 的pm2 库
  • AutoX.js - openCV多分辨率找图
  • Python爬虫实战案例——第七例
  • C# 图解教程 第5版 —— 第13章 数组
  • android studio启动Task配置
  • Xcode运行程序提示 Executable Path is a Directory 问题解决
  • 决策树的优缺点
  • Flask后端开发(二) - 功能实现和项目总结
  • 思维训练第五课插入语和主谓一致
  • 开源利器:it-tools 项目介绍
  • 基于和声算法的无人机航迹规划-附代码
  • [Linux]线程池
  • 使用es实现轻量级分布式锁
  • 富文本编辑器特殊字符的解码编码
  • 几种软件开发方法对比
  • 在Maven中发布项目到Nexus私有服务器
  • TypeScript - 类 -类的继承
  • QT: QLineEdit 密码模式、QLineEdit输入模式
  • ES6中Map集合
  • 【Leetcode Sheet】Weekly Practice 13
  • 技术贴 | 一文掌握 Google Test 框架
  • 基于深度学习的中文情感分类 - 卷积神经网络 情感分类 情感分析 情感识别 评论情感分类 计算机竞赛
  • 非线性时滞系统的无模型预测控制