返回顶部
首页 > 资讯 > 后端开发 > 其他教程 >C++实现OpenCV方框滤波的代码
  • 355
分享到

C++实现OpenCV方框滤波的代码

2024-04-02 19:04:59 355人浏览 独家记忆
摘要

一、方框滤波    方框滤波是均值滤波的一种形式。在均值滤波中,滤波结果的像素值是任意一个点的邻域平均值,等于各邻域像素值之和的均值,而在方框滤波中,可以自由

一、方框滤波

   方框滤波是均值滤波的一种形式。在均值滤波中,滤波结果的像素值是任意一个点的邻域平均值,等于各邻域像素值之和的均值,而在方框滤波中,可以自由选择是否对均值滤波的结果进行归一化,即可以自由选择滤波结果是邻域像素值之和的平均值,还是邻域像素值之和。

二、c++代码


#include <iOStream>
#include <OpenCV2\opencv.hpp>

using namespace cv;
using namespace std;

int main()
{
	//---------------------------用于方框滤波的图像--------------------
	Mat img = imread("1.jpg"); 
	if (img.empty())
	{
		cout << "请确认图像文件名称是否正确" << endl;
		return -1;
	}
	
	//将CV_8U类型转换成CV_32F类型,避免计算后的数据过大
	Mat equalImg_32F;
	img.convertTo(equalImg_32F, CV_32F, 1.0 / 255);
	Mat resultNORM, result, equalImg_32FSqr;
	//--------------------------方框滤波boxFilter----------------------
	boxFilter(img, resultNorm, -1, Size(3, 3), Point(-1, -1), true);  // 进行归一化,则为均值滤波
	boxFilter(img, result, -1, Size(3, 3), Point(-1, -1), false);     // 不进行归一化
	//----------------------方框滤波sqrBoxFilter()---------------------
	//对每个像素数值的平方求和/求均值
	sqrBoxFilter(equalImg_32F, equalImg_32FSqr, -1, Size(3, 3), Point(-1, -1), true, BORDER_CONSTANT);
	//-------------------------显示处理结果----------------------------
	imshow("原始图像", img);
	imshow("归一化", resultNorm);
	imshow("不归一化", result);
	imshow("平方和求均值", equalImg_32FSqr);
	waiTKEy(0);
	return 0;
}

三、python代码


import cv2
import matplotlib.pyplot as plt

# 读取图片
img = cv2.imread('1.jpg')
# BGR转为RGB,方便plot函数显示
source = cv2.cvtColor(img, cv2.COLOR_BGR2RGB)
# 方框滤波,True表示归一化,则效果与均值滤波相同。
result = cv2.boxFilter(source, -1, (5, 5), normalize=False)
# sqrBoxFilter实现对每个像素值的平方求和
# result1 = cv2.sqrBoxFilter(source, -1, (5, 5), normalize=True)
# 显示图形
titles = ['Source Image', 'BoxFilter Image']
images = [source, result]
for i in range(2):
    plt.subplot(1, 2, i + 1), plt.imshow(images[i], 'gray')
    plt.title(titles[i])
    plt.xticks([]), plt.yticks([])
plt.show()

四、结果展示

1、原始图像

在这里插入图片描述

2、归一化

在这里插入图片描述

3、不归一化

在这里插入图片描述

4、平方和求均值

在这里插入图片描述

到此这篇关于C++ OpenCV方框滤波的实现的文章就介绍到这了,更多相关OpenCV方框滤波内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: C++实现OpenCV方框滤波的代码

本文链接: https://lsjlt.com/news/154592.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • C++实现OpenCV方框滤波的代码
    一、方框滤波    方框滤波是均值滤波的一种形式。在均值滤波中,滤波结果的像素值是任意一个点的邻域平均值,等于各邻域像素值之和的均值,而在方框滤波中,可以自由...
    99+
    2024-04-02
  • openCV中值滤波和均值滤波的代码实现
    目录一.均值滤波二.中值滤波 在开始我们今天的博客之前,我们需要先了解一下什么是滤波: 首先我们看一下图像滤波的概念。图像滤波,即在尽量保留图像细节特征的条件下对目标图像的...
    99+
    2024-04-02
  • C++ OpenCV实现boxfilter方框滤波的方法详解
    目录box filter简单解释1. 暴力实现——四循环2. 行列分离3. 行列分离优化版代码box filter简单解释 box filter的作用很简单,...
    99+
    2022-11-13
    C++ OpenCV boxfilter盒式滤波 C++ boxfilter盒式滤波 C++ 盒式滤波
  • OpenCV学习方框滤波实现图像处理代码示例
    目录一、方框滤波二、C++代码三、python代码四、结果展示1、原始图像2、归一化3、不归一化4、平方和求均值一、方框滤波    方框滤波是均值滤波的一种形...
    99+
    2024-04-02
  • OpenCV实现图像滤波之双边滤波
    本文实例为大家分享了opencv实现双边滤波的具体代码,供大家参考,具体内容如下 1、2D卷积 #!/usr/bin/env python3 # -*- coding: utf-...
    99+
    2024-04-02
  • C++实现中值滤波的示例代码
    目录冒泡排序实现:中值滤波的实现:为了加深对中值滤波算法的理解以及方便以后更好的复习,我将该算法的一些重点细节和实现过程踩过的坑记录下来。 中值滤波器是一种非线性滤波器,或者叫统计排...
    99+
    2024-04-02
  • OpenCV实现可分离滤波
    自定义滤波 无论是图像卷积还是滤波,在原图像上移动滤波器的过程中每一次的计算结果都不会影响到后面过程的计算结果,因此图像滤波是一个并行的算法,在可以提供并行计算的处理器中可以极大的加...
    99+
    2024-04-02
  • python opencv图像的高通滤波和低通滤波的示例代码
    目录前言完整代码低通滤波高通滤波结果展示低通滤波高通滤波前言 上一章我们说明了如何将图像机娘傅里叶变换,将图像由时域变换成频域,并将低频移动至图像中心。那么将低频移动中心后,就可以将...
    99+
    2024-04-02
  • OpenCV实现双边滤波算法
    本文实例为大家分享了OpenCV实现双边滤波算法的具体代码,供大家参考,具体内容如下 一、双边滤波 双边滤波是一种综合考虑滤波器内图像空域信息和滤波器内图像像素灰度值相似性的滤波算法...
    99+
    2024-04-02
  • Opencv实现联合双边滤波
    本文实例为大家分享了Opencv实现联合双边滤波的具体代码,供大家参考,具体内容如下 1.介绍 双边滤波是一种可以保边去噪的滤波器,主要是因为它的核比较特殊,公式(1)为它的调用公式...
    99+
    2024-04-02
  • python opencv图像的高通滤波和低通滤波怎么实现
    这篇文章主要介绍“python opencv图像的高通滤波和低通滤波怎么实现”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python opencv图像的高通滤波和低通滤波怎么实...
    99+
    2023-07-02
  • python OpenCV 实现高斯滤波详解
    目录一、高斯滤波二、C++代码三、python代码四、结果展示1、原始图像2、5x5卷积3、9x9卷积一、高斯滤波    高斯滤波是一种线性平滑滤波,适用于消...
    99+
    2024-04-02
  • C#实现一阶卡尔曼滤波算法的示例代码
    //FilterKalman.cs namespace FusionFiltering { public class FilterKalman { ...
    99+
    2024-04-02
  • Python+OpenCV 实现简单的高斯滤波(推荐)
    基本原理讲解:高斯模糊的算法 高斯核函数的编写:构建权重矩阵,采用高斯二维分布函数的形式进行处理。需要注意的是,这里我没有特判当sigma = 0的时候的情况。 即是实现: 1)权重...
    99+
    2024-04-02
  • 基于Java实现空间滤波完整代码
    空间滤波的定义 滤波的本义是指信号有各种频率的成分,滤掉不想要的成分,即为滤掉常说的噪声,留下想要的成分,这即是滤波的过程,也是目的。空间滤波是一种采用滤波处理的影像增强方法。其理论...
    99+
    2024-04-02
  • C++如何实现中值滤波
    这篇文章主要介绍了C++如何实现中值滤波的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇C++如何实现中值滤波文章都会有所收获,下面我们一起来看看吧。中值滤波器是一种非线性滤波器,或者叫统计排序滤波器。适用对象:...
    99+
    2023-06-30
  • OpenCV-Python实现图像梯度与Sobel滤波器
    目录图像梯度Sobel滤波器图像梯度 图像梯度计算的是图像变化的速度。对于图像的边缘部分,其灰度值变化较大,梯度值也较大;相反,对于图像中比较平滑的部分,其灰度值变化较小,相应的梯度...
    99+
    2024-04-02
  • OpenCV学习之图像加噪与滤波的实现详解
    目录一、实验内容二、实验环境和配置三、实验原理及操作1. 添加噪声2.噪声二值化3. 滤波处理四、实验结果2.椒盐噪声二值图与白噪声二值图3.椒盐噪声处理图经处理后图像4.白噪声处理...
    99+
    2023-02-16
    OpenCV图像加噪 滤波 OpenCV图像加噪 OpenCV图像滤波 OpenCV图像
  • OpenCV(图像处理)-基于python-滤波器(低通、高通滤波器的使用方法)
    1.概念介绍2. 图像卷积filter2D() 3. 低通滤波器3.1 方盒滤波和均值滤波boxFilter()blur() 3.2 高斯滤波(高斯噪音)3.3 中值滤波(胡椒...
    99+
    2023-09-06
    opencv 图像处理 计算机视觉
  • C++OpenCV实现像素画的示例代码
    目录准备工作代码实现完整代码最近在学习OpenCV,准备后续更新一波OpenCV相关的内容。代码实现主要是以 C++ 为主, 另外为了辅助学习,还会使用C# 开发一款桌面的软件,用于...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作