@[TOC](Java OpenCV-4.0.0 图像处理11 自定义图像滤波(降噪) 算子)

Java OpenCV-4.0.0 自定义图像线性滤波(降噪)

package com.xu.image;import java.io.File;import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Point;
import org.opencv.highgui.HighGui;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;/*** @Title: Image.java* @Description: OpenCV 测试文件* @Package com.xu.test* @author: hyacinth* @date: 2019年5月7日12:13:13* @version: V-1.0.0* @Copyright: 2019 hyacinth*/
public class Image {static {String os = System.getProperty("os.name");String type = System.getProperty("sun.arch.data.model");if (os.toUpperCase().contains("WINDOWS")) {File lib;if (type.endsWith("64")) {lib = new File("D:\\Learn\\OpenCV\\OpenCV-4.5.5\\build\\java\\x64\\" + System.mapLibraryName("opencv_java455"));} else {lib = new File("D:\\Learn\\OpenCV\\OpenCV-4.5.5\\build\\java\\x86\\" + System.mapLibraryName("opencv_java455"));}System.load(lib.getAbsolutePath());}}public static void main(String[] args) {kernel3();}/*** OpenCV-4.0.0 自定义滤波(降噪)(Robert算子)** @return: void* @date: 2019年5月7日12:16:55*/public static void kernel1() {Mat src = Imgcodecs.imread("D:\\OneDrive\\桌面\\1.jpg");HighGui.imshow("Robert算子 原图", src.clone());Mat dst_x = new Mat();Mat dst_y = new Mat();//Robert算子-X轴Mat kernel_x = new Mat(2, 2, 1);kernel_x.put(0, 0, 1);kernel_x.put(0, 1, 0);kernel_x.put(1, 0, 0);kernel_x.put(1, 1, -1);Imgproc.filter2D(src, dst_x, -1, kernel_x, new Point(-1, -1), 0.0);//Robert算子-Y轴Mat kernel_y = new Mat(2, 2, 1);kernel_y.put(0, 0, 0);kernel_y.put(0, 1, 1);kernel_y.put(1, 0, -1);kernel_y.put(1, 1, 0);Imgproc.filter2D(src, dst_y, -1, kernel_y, new Point(-1, -1), 0.0);HighGui.imshow("Robert算子 Y", dst_y);HighGui.imshow("Robert算子 X", dst_x);Mat dst = new Mat();Core.addWeighted(dst_x, 0.5, dst_y, 0.5, 0, dst);HighGui.imshow("Robert算子 融合", dst);HighGui.waitKey(10);}/*** OpenCV-4.0.0 自定义滤波(降噪)(Sable算子)** @return: void* @date: 2019年5月7日12:16:55*/public static void kernel2() {Mat src = Imgcodecs.imread("D:\\OneDrive\\桌面\\1.jpg");HighGui.imshow("Sable算子 原图", src.clone());Mat dst_x = new Mat();Mat dst_y = new Mat();//Soble算子-X轴Mat kernel_x = new Mat(3, 3, 1);kernel_x.put(0, 0, -1);kernel_x.put(0, 1, 0);kernel_x.put(0, 2, 1);kernel_x.put(1, 0, -2);kernel_x.put(1, 1, 0);kernel_x.put(1, 2, 2);kernel_x.put(2, 0, -1);kernel_x.put(2, 1, 0);kernel_x.put(2, 2, 1);Imgproc.filter2D(src, dst_x, -1, kernel_x, new Point(-1, -1), 0.0);//Soble算子-Y轴Mat kernel_y = new Mat(3, 3, 1);kernel_y.put(0, 0, -1);kernel_y.put(0, 1, 2);kernel_y.put(0, 2, -1);kernel_y.put(1, 0, 0);kernel_y.put(1, 1, 0);kernel_y.put(1, 2, 0);kernel_y.put(2, 0, 1);kernel_y.put(2, 1, 2);kernel_y.put(2, 2, 1);Imgproc.filter2D(src, dst_y, -1, kernel_y, new Point(-1, -1), 0.0);HighGui.imshow("Sable算子 X", dst_x);HighGui.imshow("Sable算子 Y", dst_y);Mat dst = new Mat();Core.addWeighted(dst_x, 0.5, dst_y, 0.5, 0, dst);HighGui.imshow("Sable算子 融合", dst);HighGui.waitKey(1);}/*** OpenCV-4.0.0 自定义滤波(降噪)(Laplace算子)** @return: void* @date: 2019年5月7日12:16:55*/public static void kernel3() {Mat src = Imgcodecs.imread("D:\\OneDrive\\桌面\\1.jpg");HighGui.imshow("Laplace 算子 原图", src.clone());Mat dst = new Mat();//拉普拉斯算子Mat kernel = new Mat(3, 3, 1);kernel.put(0, 0, 0);kernel.put(0, 1, -1);kernel.put(0, 2, 0);kernel.put(1, 0, -1);kernel.put(1, 1, 4);kernel.put(1, 2, -1);kernel.put(2, 0, 0);kernel.put(2, 1, -1);kernel.put(2, 2, 0);Imgproc.filter2D(src, dst, -1, kernel, new Point(-1, -1), 0.0);HighGui.imshow("Laplace 算子", dst);HighGui.waitKey(0);}}



Java OpenCV-4.0.0 图像处理11 自定义图像滤波(降噪) 算子相关推荐

  1. OpenCV与图像处理学习五——图像滤波与增强:线性、非线性滤波、直方图均衡化与Gamma变换

    OpenCV与图像处理学习五--图像滤波与增强:线性.非线性滤波.直方图均衡化与Gamma变换 三.图像滤波与增强 3.1 线性滤波 3.1.1 方框滤波 3.1.2 均值滤波 3.1.3 高斯滤波 ...

  2. 【youcans 的 OpenCV 学习课】7. 空间域图像滤波

    专栏地址:『youcans 的图像处理学习课』 文章目录:『youcans 的图像处理学习课 - 总目录』 [youcans 的 OpenCV 学习课]7. 空间域图像滤波 图像滤波是在尽可能保留图像 ...

  3. opencv学习笔记11:图像滤波(均值,方框,高斯,中值)

    为什么要使用滤波 消除图像中的噪声成分叫作图像的平滑化或滤波操作.信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没.因此一个能降低高频成分幅度的滤波 ...

  4. python 视觉技术_python+opencv实现机器视觉基础技术(边缘提取,图像滤波,边缘检测算子,投影,车牌字符分割)...

    机器视觉是人工智能正在快速发展的一个分支.简单说来,机器视觉就是用机器代替人眼来做测量和判断.它是一项综合技术,包括图像处理.机械工程技术.控制.电光源照明.光学成像.传感器.模拟与数字视频技术.计算 ...

  5. 图像处理(六)滤波降噪

    图像滤波分为均值滤波.高斯滤波.中值滤波.双边滤波,其中中值滤波对椒盐噪声有奇效 均值滤波:cv2.blur(img,元祖:卷积核大小) 对于椒盐噪声有效 高斯滤波:cv2.GaussianBlur( ...

  6. java opencv 图片处理_Java图像处理:基于OpenCV与JVM

    Java图像处理:基于OpenCV与JVM 作者:(法)尼古拉斯·莫德奇克(Nicolas Modrzyk) 著 出版日期:2019年04月 文件大小:7.64M 支持设备: ¥60.00仅供试读 适 ...

  7. 图像加斑点java,Java OpenCV:如何将彩色图像转换为黑白图像?

    I have loaded the image as gray sclae, I know I need use threshold to binarize it. But how to do it ...

  8. [Python图像处理] 三十三.图像各种特效处理及原理万字详解(毛玻璃、浮雕、素描、怀旧、流年、滤镜等)...

    此文转载自:https://blog.csdn.net/Eastmount/article/details/111568397#commentBox 该系列文章是讲解Python OpenCV图像处理 ...

  9. python灰度图片格式_[Python图像处理] 十五.图像的灰度线性变换

    [Python图像处理] 十五.图像的灰度线性变换 发布时间:2019-03-28 00:08, 浏览次数:619 , 标签: Python 该系列文章是讲解Python OpenCV图像处理知识,前 ...

最新文章

  1. ajax php计数,jQuery+PHP+Ajax动态数字统计展示实例
  2. css案例学习之relative与absolute
  3. 仿微信公众号后台管理-自定义菜单
  4. 年终总结 | 2019年人工智能+计算机视觉+深度学习笔记思维导图汇总
  5. WebAPI2使用Autofac实现IOC属性注入完美解决方案
  6. 数据中心已死:2025 年 80% 将关闭,目前 10%
  7. 【LeetCode】64. Minimum Path Sum
  8. 小论坛 之Linux服务器搭建Apache PHP mysql 环境
  9. 电信接入点服务器修改,修改apn加快电信4g网速(电信最佳apn接入点)
  10. Spark REST服务api官网地址
  11. ios kb转m_ios压缩到指定的 KB
  12. 移动机器人c语言程序设计,机器人辅助C程序设计
  13. 携程Java后台开发三面面经
  14. 华为和中兴的一点对比
  15. 【古墓射手】隐私政策
  16. AAAI 2020 提前看 | 三篇论文解读问答系统最新研究进展
  17. 对Android view/viewgroup事件分发的理解
  18. Discuz!应用中心开发者后台在移动线路下无法打开的解决办法
  19. 自定义设置电脑屏保(.scr文件)
  20. xbox360游戏下载_如何将游戏文件移动到另一个Xbox

热门文章

  1. [XDOJ]矩阵相乘
  2. 百度地图html页面设置大小设置,响应适老化!百度地图全新上线地图显示大小调节功能...
  3. 入门必学的sql语句
  4. 软件测试资质有哪些?具备CNAS资质和具备CMA资质的区别是什么?
  5. R语言Tensorflow安装
  6. 如何理解paddle.reader.xmap_readers()函数
  7. 代码规范:规范你我他
  8. 复制360doc个人图书馆文章经验分享贴(仅供学习)
  9. 亚马逊和Global Optimism欢迎汉高和昕诺飞加入《气候宣言》
  10. 门禁系统服务器 控制器 读卡器,门禁系统建设方案.docx