二十八、图像的高斯模糊操作

news/2024/7/7 23:19:23

项目功能实现:对一张图片进行高斯模糊操作
按照之前的博文结构来,这里就不在赘述了

更多的图像模糊操作原理可参考博文:七、模糊操作,里面有详细原理讲解,只不过代码是python写的。

一、头文件

gaussian_blur.h

#pragma once

#include<opencv2/opencv.hpp>

using namespace cv;

class Gaussian_Blur {
public:
	void gaussian_blur(Mat& image);
};

#pragma once

二、函数实现

gaussian_blur.cpp

GaussianBlur(image, result, Size(0, 0), 5, 5);
参数一:要处理的图片对象
参数二:返回结果存储对象
参数三:卷积核大小,必须是奇数,如果设置为 0,则由输入的标准差来计算所需的尺寸
参数四:X 方向高斯滤波器标准差
参数五:Y 方向高斯滤波器标准差,如果设置为 0,则会被设置成等于 sigmaX,如果 sigmaX 和 sigmaY 都输入 0,则会根据滤波器尺寸来计算得到标准差

#include"gaussian_blur.h"
#include<iostream>
#include<opencv2/opencv.hpp>

void Gaussian_Blur::gaussian_blur(Mat& image) {
	Mat result;
	GaussianBlur(image, result, Size(0, 0), 5, 5);
	imshow("GaussianBlur", result);
}

三、主函数

yy_main.cpp

#include <opencv2/opencv.hpp>
#include <iostream>
#include"gaussian_blur.h"
using namespace cv;
using namespace std;

int main(int argc, char** argv) {
	Mat src = cv::imread("E:/C++_workspace/beyond.jpg", IMREAD_COLOR);

	if (src.empty()) {
		printf("load image is false...\n");
		return -1;
	}

	namedWindow("yanyu", WINDOW_FREERATIO);
	imshow("yanyu", src);

	Gaussian_Blur  yy;
	yy.gaussian_blur(src);

	waitKey(0);
	destroyAllWindows();

	return 0;
}

项目结构如下:
在这里插入图片描述

运行结果如下:

在这里插入图片描述


http://lihuaxi.xjx100.cn/news/2045862.html

相关文章

几种常见的配置文件格式,以及它们的优缺点和用法汇总

文章目录 1. INI2. XML3. JSON4. YAML5. TOML结论 配置文件是用于存储软件程序、操作系统或服务器等的设置的文件。不同的配置文件格式具有不同的结构和语法&#xff0c;选择哪种格式通常取决于具体的应用需求、易用性、可读性以及环境支持。以下是几种常见的配置文件格式&…

计算机网络实验七 利用 Java 开发网络应用程序

一、实验目的和要求 1)基本掌握利用 Java 开发环境调试应用程序的方法。 2)理解基于套接字开发网络应用程序的过程,深入理解 Ping 工作原理。 3)深入理解 HTTP 协议的格式和工作过程,理解 Web 代理服务器工作原理。 二、实验环境 1)运行 Windows 2008 Server/XP/7 操…

工厂安全智能巡检机器人系统开发及其对您的价值体现

在工厂生产环境中&#xff0c;安全生产一直是业主、采购商以及中间商们十分关注的焦点。为了提升工厂生产线的安全性、效率和可追溯性&#xff0c;一款工厂安全智能巡检机器人系统应运而生&#xff0c;旨在为需求方带来全新的生产安全管理模式。 自动巡检增加效率 传统的工厂…

Sublime Text4配置C#运行环境

这里写自定义目录标题 前言部署.NET环境Sublime Text4配置C#编译环境1. 下载插件 运行测试 前言 今天把家里的9年前的远古神机搬了出来&#xff0c;重装了个win7的精简版&#xff0c;本打算装个VScode测试一下是否能写C#代码&#xff0c;结果是可以的&#xff0c;但&#xff0…

Centos开机网卡自启动失败

问题背景 每次都要手动启动在这里插入代码片 解决方案: 关闭 NetworkManager 服务 systemctl disable NetworkManager systemctl stop NetworkManager重启就会发现网卡已经可以自动启动了

Vision Transfomer系列第二节---Tricks测试

目录 学习式和固定式位置编码测试dropout的作用测试block深度的作用测试embeding维度大小的作用测试多头的作用测试Overlap Patch的作用 学习式和固定式位置编码测试 主要测试无位置编码\可学习位置编码和固定式位置编码的训练效果: 其中固定式位置编码采用之前博客的正余弦位…

Flutter常用命令,持续更新

目录 前言 Flutter 常用命令 Dart 常用命令 adb 常用命令&#xff08;用于 Android 开发&#xff09; 前言 当在开发Flutter项目时&#xff0c;熟悉一些常用的命令是非常重要的。这些命令可以帮助你执行各种任务&#xff0c;从构建应用程序到调试和测试。以下是一些Flutte…

网络原理——HTTP

1. 什么是HTTP协议 HTTP是应用层的协议。Java最主要的应用场景是做网站&#xff0c;而网站由 后端&#xff08;HTTP服务器&#xff09; 和 前端&#xff08;浏览器&#xff09;组成&#xff0c;HTTP协议就是负责这里后端和前端的数据交互。 HTTP3.0 之前在传输层是通过 TCP传…