前面说过高斯滤波,这里介绍线性滤波

线性滤波

输出图像fo(x,y)= T[ fi(x,y) ],T是线性算子,即:输出图像上每个像素点的值都是由输入图像各像素点值加权求和的结果。
非线性滤波的算子中包含了取绝对值、置零等非线性运算。

函数

Imgproc.filter2D(src, dst, -1, kernel, new Point(-1,-1));

代码实现:

public static void main(String[] args) {try {ResourceBundle bundle = ResourceBundle.getBundle("opencv");String opencvDllName = bundle.getString("opencv.dllpath");System.load(opencvDllName);} catch (Exception e) {e.printStackTrace();}String filename = "D:\\360MoveData\\Users\\lxn\\Desktop\\opencvtest\\cph.png";Mat src = Imgcodecs.imread(filename);// 加载原图Mat dst=new Mat();Mat kernel=new Mat(new Size(3,3),CvType.CV_8SC1);//创建滤波核心kernel.put(0,0,1,0,1);kernel.put(1,0,0,1,0);kernel.put(2,0,1,0,1);System.out.println(kernel.dump());//Imgproc.filter2D(src, dst,-1, kernel);//Imgproc.filter2D(src, dst, -1, kernel, new Point(-1,-1));Imgproc.filter2D(src, dst, -1, kernel, new Point(-1,-1));Point p1=new Point(500, 100);Point p2=new Point(520,120);System.out.println(src.submat(new Rect(p1,p2)).dump());System.out.println(dst.submat(new Rect(p1,p2)).dump());HighGui.imshow("原图", src);HighGui.imshow("线性滤波之后", dst);HighGui.waitKey();}

图像的处理效果和卷积核有着很大的关系

当卷积核:

[  1,   0,   1;
   0,   1,   0;
   1,   0,   1]

滤波前后的图像对比:

改变卷积核:

[ -1,   0,  -1;
   0,   4,   0;
  -1,   0,  -1]

上面是对filter2D 这个线性滤波函数的基本的操作

希望对你有所帮助

OpenCV java 线性滤波(16)相关推荐

  1. opencv java ubuntu_Ubuntu 16.04配置OpenCV 3.1.0 for Java

    我们都知道,OpenCV是基于C++的开源计算机视觉库,但是从2.4.4版本开始提供了Java绑定,也就是说,我们也可以使用Java来开发基于OpenCV的计算机视觉应用.目前,最新的版本是3.1.0 ...

  2. Opencv java模板匹配-角点检测(11)

    函数 在opencv中有模板匹配的方法, Imgproc.matchTemplate(src, template, result, Imgproc.TM_CCOEFF); 这个方法输入的参数分别是: ...

  3. opencv 裁剪 java_如何在opencv java中裁剪检测到的面部图像

    我在 java中使用opencv 2.4.10检测到图像中的面部 我把我的面部检测代码. import org.opencv.core.Core; import org.opencv.core.Mat ...

  4. opencv java 摄像头_使用OpenCV Java创建Windows摄像头扫码程序

    OpenCV提供了一些基本的Webcam控制接口.用OpenCV C/C++或者Python,可以在任意平台快速创建一个摄像头预览应用.然而使用Java,情况就复杂的多,因为OpenCV Java并没 ...

  5. 在Eclipse中使用OpenCV Java

    在Eclipse中使用OpenCV Java 在Eclipse中使用OpenCV Java 配置Eclipse 测试新Java项目上的配置 运行具有OpenCV和MKL依赖关系的Java代码 在Ecl ...

  6. OpenCV Java开发简介

    OpenCV Java开发简介 OpenCV Java开发简介 我们将在本指南中做什么 获得适当的OpenCV 下载 构建 Java示例与Ant Java和Scala的SBT项目 运行SBT样本 Op ...

  7. minecraft1.16java_MINECRAFT JAVA 1.16.1发布

    文章由机翻+手动核对,不会出现生草内容,请放心阅读. 原文链接: https://www.minecraft.net/zh-hans/article/minecraft-java-edition-1- ...

  8. java配置opencv_在Windows中使用OpenCV Java与Eclipse

    自2.4.4版本以来,OpenCV支持Java.在本教程中,我将介绍如何设置在Windows中使用OpenCV Java与Eclipse的开发环境,以便您可以享受垃圾回收,非常可重构(重命名变量,提取 ...

  9. Using OpenCV Java with Eclipse

    转自:http://docs.opencv.org/trunk/doc/tutorials/introduction/java_eclipse/java_eclipse.html Using Open ...

最新文章

  1. 彻底理解C#中值类型和引用类型的区别
  2. **[权限控制] 利用CI钩子实现权限认证
  3. HTML的<span>标签【杂记】
  4. 在 CSS 中,width 和 height 指的是内容区域的宽度和高度
  5. 吴恩达深度学习—— 3.4 多个例子中的向量化
  6. 使用setsockopt TCP_NODELAY禁用 Nagle算法
  7. check mk mysql_Mysql管理必备工具Maatkit详解之四(mk-duplicate-key-checker)
  8. 微信线下门店二维码扫码支付和退款
  9. Python中过滤列表中全部奇数
  10. python chm模块_python3.7.0官方参考文档 最新api文档 chm
  11. 信息工程与计算机科学就业前景,信息与计算机科学就业前景及方向揭秘
  12. 论文总结——因果发现与推断
  13. uni-app控制台显示项目编译成功,但模拟器没有反应
  14. 《 C语言程序设计(第2版)》 读书笔记
  15. for the love,for the dream
  16. R语言GWR地理加权回归
  17. 输出日期为2021年的第几天(switch...case)
  18. 计算机图形学(相关网址+大牛推荐+随时补充)
  19. 图片合成gif如何做?怎样将图片合成动图效果?
  20. 【优化】梯度下降 收敛性 证明

热门文章

  1. 【转】Python机器学习库
  2. 解决iframe 右边有空白的问题
  3. 系统由单体架构到微服务架构到底是如何演进的?
  4. 突然挂了!Redis缓存都在内存中,这下完了!
  5. 这可能是最为详细的Docker入门吐血总结
  6. 为什么一讨论系统的规划和发展先想到的就是平台
  7. Keil5 STM32F系列 安装 安装包
  8. Tomcat配置server.xml
  9. 7.某计算机的控制器采用微程序控制方式,微指令中的操作控制字段的16位采用混合表示法,其中用11位采用直接表示法,另外5位分为3位和2位的编码表示法,则此格式的微指令最多可表示多少个微指令?
  10. 嵌入式系统学习笔记之五-uboot常用命令之补充