OpenCV入门系列 —— boxFilter盒子滤波

  • 前言
  • 程序说明
  • 输出结果
  • 代码示例
  • 总结

前言

随着工业自动化、智能化的不断推进,机器视觉(2D/3D)在工业领域的应用和重要程度也同步激增(识别、定位、抓取、测量,缺陷检测等),而针对不同作业场景进行解决方案设计时,通常会借助PCL、OpenCV、Eigen等简单方便的开源算法库进行方案的快速验证和迭代以满足作业场景下的目标需求。

为了让对工业机器视觉方向感兴趣的同学能够少走一些弯路,故推出了此一系列简易入门教程示例,让初次使用者能够最简单直观地感受到当前所用算法模块的执行效果。

后续会逐步扩增与工业机器视觉相关的一些其它内容,如:

项目案例剖析场景数据分析基础算法模块相机评测 等;

如有兴趣可加入群聊(若入群二维码被屏蔽,则可以通过Q群(1032861997)或评论、私信博主“群聊”,邀请入群),与同道同学及圈内同行一起交流讨论。


程序说明

展示图像box滤波前后的效果对比;

输出结果

代码示例

/** @File: box_filter.cpp* @Brief: opencv course* @Description: 展示图像box滤波前后的效果对比* @Version: 0.0.1* @Author: MuYv*/
#include <iostream>
#include <string>
#include <opencv2/opencv.hpp>int main(int argc, char** argv){if(argc != 2){std::cout<<"Usage: exec img_file_path"<<std::endl;return -1;}const std::string kImgFilePath = argv[1];// 加载为 rgb 3通道彩色图数据cv::Mat img_src = cv::imread(kImgFilePath, cv::IMREAD_COLOR);//进行box滤波操作 cv::Mat img_box_filter;cv::boxFilter( img_src, img_box_filter, -1, cv::Size(5, 5));    // 参数需视具体情况进行调整cv::imshow("img_src", img_src);cv::imshow("img_box_filter", img_box_filter);// 等待n毫秒后关闭窗口,0代表一直开启,直到任意按键触发关闭窗口cv::waitKey(0);return 0;
}

总结

图像滤波、平滑等相关处理操作的目的是在于弱化像素间跳变梯度,将后续需要依靠像素跳变梯度操作的泛性、鲁棒性提升;


注:部分测试所用图片数据来源于网络,如有侵权,请联系博主删除,谢谢。

OpenCV入门系列 —— boxFilter盒子滤波相关推荐

  1. OpenCV入门系列 —— bilateralFilter双边滤波

    OpenCV入门系列 -- bilateralFilter双边滤波 前言 程序说明 输出结果 代码示例 总结 前言 随着工业自动化.智能化的不断推进,机器视觉(2D/3D)在工业领域的应用和重要程度也 ...

  2. PCL入门系列 —— PassThrough 直通滤波、点云裁剪

    PCL入门系列 -- PassThrough 直通滤波.点云裁剪 前言 程序说明 输出结果 代码示例 总结 前言 随着工业自动化.智能化的不断推进,机器视觉(2D/3D)在工业领域的应用和重要程度也同 ...

  3. OpenCV入门系列 —— cv::dilate 图像膨胀

    OpenCV入门系列 -- cv::dilate 图像膨胀 前言 程序说明 输出结果 代码示例 前言 随着工业自动化.智能化的不断推进,机器视觉(2D/3D)在工业领域的应用和重要程度也同步激增(识别 ...

  4. OpenCV入门系列 —— cv::erode、cv::dilate 图像腐蚀和膨胀

    OpenCV入门系列 -- cv::erode.cv::dilate 图像腐蚀和膨胀 前言 程序说明 输出结果 代码示例 前言 随着工业自动化.智能化的不断推进,机器视觉(2D/3D)在工业领域的应用 ...

  5. OpenCV入门系列 —— cv::minEnclosingCircle 随机生成点坐标并计算最小包围圆

    OpenCV入门系列 -- cv::minEnclosingCircle 随机生成点坐标并计算最小包围圆 前言 程序说明 输出结果 代码示例 前言 随着工业自动化.智能化的不断推进,机器视觉(2D/3 ...

  6. OpenCV入门系列 —— Sobel边缘检测

    OpenCV入门系列 -- Sobel边缘检测 前言 程序说明 输出结果 代码示例 总结 前言 随着工业自动化.智能化的不断推进,机器视觉(2D/3D)在工业领域的应用和重要程度也同步激增(识别.定位 ...

  7. OpenCV入门系列1:图像组成与OpenCV基本操作函数

    文章目录 前言 一.图像组成 1.1 图片与像素点 1.2 RGB颜色系统 1.3 图像数值转换原理 1.4 彩色图与灰度图 二.OpenCV函数验证 2.1 引入OpenCV库 2.2 读入彩色图片 ...

  8. 图像处理入门系列之图像滤波

    图像的滤波操作按不同的分类方法可分为频率域和空间域滤波.线型滤波和非线型滤波.平滑滤波和锐化滤波.高通滤波和低通滤波.总体来说,图像滤波的作用可分为两类,一类是去除图像因外界干扰而产生的噪声:另一类是 ...

  9. OpenCV入门系列2:图像叠加、填充和腐蚀

    文章目录 前言 一.图像的叠加 1.1 叠加原理 1.2 叠加问题 1.3 问题解决 1.4 结果展示 二.图像的填充 2.1 填充方法介绍 2.2 复制法 2.3 轴对称法 2.4 中心对称法 2. ...

最新文章

  1. matlab系统的根轨迹,实验五 利用MATLAB绘制系统根轨迹
  2. 人工智能名人堂第54期 | 深度学习鼻祖:Geoffrey Hinton
  3. java线程饥饿死锁_java并发-线程饥饿死锁测试
  4. 深入浅出Powershell——拷贝GAC中dll文件
  5. python 爬取道客巴巴文档_Python常用的几个高效率的爬虫框架
  6. python 设置输入法为英文,appium+python环境下的输入法切换
  7. epoll的内核实现
  8. 计算机设置成一个网络,同一个路由器上的电脑怎么设置成局域网连网打 – 手机爱问...
  9. PHP+MYSQL图书管理系统(课设)
  10. 服装开源平台让女装血拼开始
  11. 传奇所有客户端大合集
  12. 电容的作用?电容器的作用?
  13. 浅谈mian函数的参数解析
  14. face_recognition常用方法
  15. 基于Java和Netty实现的联机版坦克大战游戏
  16. matlab复化梯形公式误差,数值分析复化梯形公式,复化Simpson公式MATLAB程序
  17. 微信小程序与HTML5的标签差异梳理
  18. 文件/文件夹强制删除工具:IObit Unlocker绿色版
  19. Redis 整合spring ,做mysql的缓存
  20. 国王3个囚犯戴帽子,帽子不是黑色就是白色---逻辑题。

热门文章

  1. 用 Telegram bot 搭个消息提醒服务
  2. A股-股票程序自动化交易接口
  3. 论文阅读 [TPAMI-2022] Locally Connected Network for Monocular 3D Human Pose Estimation
  4. P4167 [Violet]樱花
  5. 基于f2从零实现移动端可视化编辑器
  6. 用iperf在ambarella s2l上进行网络性能测试
  7. C语言(一):C语言概述介绍
  8. STAF 删除文件操作
  9. 必考面试题:浏览器怎么渲染页面的
  10. 软件测试方法进行调优,一种大型软件测试方法