滤波过程:

将内核锚放置在确定的像素的顶部,其余核心覆盖图像中的相应局部像素。

将内核系数乘以相应的图像像素值并对结果求和。

将结果放置在输入图像中锚点的位置。

通过在整个图像上扫描内核来重复所有像素的过程。

API函数

1、建立自己的内核kernel_size = 3 + 2*( ind%5 );kernel = Mat::ones( kernel_size, kernel_size, CV_32F )/ (float)(kernel_size*kernel_size);2、filter2D(src, dst, ddepth , kernel, anchor, delta, BORDER_DEFAULT );
参数表示:src:源图像dst:目的地图像ddepth:深度dst。负值(如−1)表示深度与源相同。内核:要通过图像扫描的内核anchor:锚点相对于其内核的位置。位置点(-1,-1)表示默认的中心。delta:在关联期间要添加到每个像素的值。默认情况下为0BORDER_DEFAULT:我们默认设置此值(以下教程中有更多详细信息)

代码

#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <iostream>using namespace cv;int main(int argc, char* argv[])
{Mat src = imread("12.bmp", 1);namedWindow("原图像", WINDOW_FREERATIO);namedWindow("自创均值滤波图", WINDOW_FREERATIO);namedWindow("API均值滤波图", WINDOW_FREERATIO);if (src.empty()){std::cout << "打开图片失败,请检查" << std::endl;return -1;}imshow("原图像", src);Mat dst,dst1;dst = src.clone();dst1 = src.clone();//实现均值滤波//Mat kernel =(Mat_<float>(3,3)<<1,1,1,1,1,1,1,1,1)/9;Mat kernel = Mat::ones(Size(7, 7), CV_32F)/49;filter2D(src,dst,-1, kernel,Point(-1,-1),0,4);blur(src, dst1, Size(7, 7), Point(-1, -1), 4);imshow("自创均值滤波图", dst);imshow("API均值滤波图", dst1);waitKey(0);return 0;
}

OpenCV制作自己的线性滤镜相关推荐

  1. OpenCV制作自己的线性滤波器

    OpenCV制作自己的线性滤波器 制作自己的线性滤波器 目标 理论 相关性 什么是内核? 与内核的关联如何工作? 这个程序做什么? 代码 解释 载入图片 初始化参数 环形loop 结果 制作自己的线性 ...

  2. 基于OpenCV制作道路车辆计数应用程序

    基于OpenCV制作道路车辆计数应用程序 发展前景 随着科学技术的进步和工业的发展,城市中交通量激增,原始的交通方式已不能满足要求:同时,由于工业发展为城市交通提供的各种交通工具越来越多,从而加速了城 ...

  3. 使用Python,OpenCV制作图像Mask——截取ROIs及构建透明的叠加层

    使用Python,OpenCV制作图像Mask--截取ROIs及构建透明的叠加层 1. 效果图 2. 源码 参考 这篇博客将介绍如何使用OpenCV制作Mask图像掩码.使用位运算和图像掩码允许我们只 ...

  4. 使用Python,OpenCV制作不同风格的素描图(正常,漫画,写实风格)

    使用Python,OpenCV制作不同风格的素描图(正常,漫画,写实风格) 这篇博客将介绍如何使用Python,OpenCV制作不同风格的素描图(正常风格,漫画风格,写实风格). 1. 效果图 原始图 ...

  5. 使用Python,OpenCV制作全透明的logo水印,对图像添加水印

    使用Python,OpenCV制作全透明的logo水印,对图像添加水印 1. 效果图 2. OpenCV自己制作一个logo(完全不透明的) 3. 制作水印图源码 4. 添加水印源码 5. 思考: 参 ...

  6. WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法。

    WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法. 原文: WPF编程,通过KeyFrame 类型制作控件线性动画的一种方法. 版权声明:我不生产代码,我只是代码的搬运工. https ...

  7. 用PIL制作手绘风格滤镜

    用PIL制作手绘风格滤镜 话不多说,直接上代码! from PIL import Image import numpy as npdef ArtDraw(path0,path1):try:a = np ...

  8. 独家|OpenCV1.11 使用OpenCV制作一个低成本立体摄像机

    作者:Kaustubh Sadekar 翻译:顾伟嵩 校对:张玲本文约3000字,建议阅读6分钟 本文我们将学习如何创建一个定制的低成本立体摄像机. 标签:3D计算机视觉,摄像机标定,经典计算机视觉, ...

  9. 使用 Opencv 创建类似 Instagram 的滤镜!

    什么是图像滤镜? 图像滤镜是一种方法或过程,通过它可以修改图像的颜色.阴影.色调.饱和度.纹理和其他特征.滤镜用于根据商业.艺术或审美需要在视觉上修改图像. 如今,图像滤镜在社交媒体中非常普遍.Ins ...

最新文章

  1. Android开发傲娇之作
  2. leetcode算法题--Letter Case Permutation
  3. @所有人,20 万大奖待领取!【全民找“BUG”】活动,等你!
  4. H5移动端开发学习总结
  5. CPU方案简介UIS8190 - LTE CAT.1模块
  6. 音频开发中常见的四个错误
  7. Java并发执行器的懒惰开发人员简介
  8. 【干货分享】流程DEMO-事务呈批表
  9. python循环遍历把表写入csv_求教python3.5如何把字典循环写入csv?
  10. python简明教程_01
  11. xcode ios 模拟器安装运行
  12. Echarts 柱状图配置圆角
  13. JAVA 9中module初探
  14. 微信小程序体验版分享的坑
  15. 板邓:php+mayql分页原理及案例
  16. Excel DATEDIF函数
  17. android模拟器安装
  18. mysql nlssort_nlssort排序
  19. 阿里云elasticsearch试用套路
  20. 九连环的递归实现,以及数列通项

热门文章

  1. [JAVAEE] Thymeleaf 基本语法: form相关标签
  2. Git 修改用户名和邮箱
  3. Android ViewAnimationUtils (动画) 的使用
  4. Java设计模式:观察者模式
  5. No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
  6. 025_Excel知识汇总
  7. 软件架构自学笔记——非功能特性
  8. 关于如何在pc端使用github
  9. ruby生成C++头文件引用关系图
  10. usaco Score Inflation