Java OpenCV-4.0.0 图像处理11 自定义图像滤波(降噪) 算子
@[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 自定义图像滤波(降噪) 算子相关推荐
- OpenCV与图像处理学习五——图像滤波与增强:线性、非线性滤波、直方图均衡化与Gamma变换
OpenCV与图像处理学习五--图像滤波与增强:线性.非线性滤波.直方图均衡化与Gamma变换 三.图像滤波与增强 3.1 线性滤波 3.1.1 方框滤波 3.1.2 均值滤波 3.1.3 高斯滤波 ...
- 【youcans 的 OpenCV 学习课】7. 空间域图像滤波
专栏地址:『youcans 的图像处理学习课』 文章目录:『youcans 的图像处理学习课 - 总目录』 [youcans 的 OpenCV 学习课]7. 空间域图像滤波 图像滤波是在尽可能保留图像 ...
- opencv学习笔记11:图像滤波(均值,方框,高斯,中值)
为什么要使用滤波 消除图像中的噪声成分叫作图像的平滑化或滤波操作.信号或图像的能量大部分集中在幅度谱的低频和中频段是很常见的,而在较高频段,感兴趣的信息经常被噪声淹没.因此一个能降低高频成分幅度的滤波 ...
- python 视觉技术_python+opencv实现机器视觉基础技术(边缘提取,图像滤波,边缘检测算子,投影,车牌字符分割)...
机器视觉是人工智能正在快速发展的一个分支.简单说来,机器视觉就是用机器代替人眼来做测量和判断.它是一项综合技术,包括图像处理.机械工程技术.控制.电光源照明.光学成像.传感器.模拟与数字视频技术.计算 ...
- 图像处理(六)滤波降噪
图像滤波分为均值滤波.高斯滤波.中值滤波.双边滤波,其中中值滤波对椒盐噪声有奇效 均值滤波:cv2.blur(img,元祖:卷积核大小) 对于椒盐噪声有效 高斯滤波:cv2.GaussianBlur( ...
- java opencv 图片处理_Java图像处理:基于OpenCV与JVM
Java图像处理:基于OpenCV与JVM 作者:(法)尼古拉斯·莫德奇克(Nicolas Modrzyk) 著 出版日期:2019年04月 文件大小:7.64M 支持设备: ¥60.00仅供试读 适 ...
- 图像加斑点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 ...
- [Python图像处理] 三十三.图像各种特效处理及原理万字详解(毛玻璃、浮雕、素描、怀旧、流年、滤镜等)...
此文转载自:https://blog.csdn.net/Eastmount/article/details/111568397#commentBox 该系列文章是讲解Python OpenCV图像处理 ...
- python灰度图片格式_[Python图像处理] 十五.图像的灰度线性变换
[Python图像处理] 十五.图像的灰度线性变换 发布时间:2019-03-28 00:08, 浏览次数:619 , 标签: Python 该系列文章是讲解Python OpenCV图像处理知识,前 ...
最新文章
- ajax php计数,jQuery+PHP+Ajax动态数字统计展示实例
- css案例学习之relative与absolute
- 仿微信公众号后台管理-自定义菜单
- 年终总结 | 2019年人工智能+计算机视觉+深度学习笔记思维导图汇总
- WebAPI2使用Autofac实现IOC属性注入完美解决方案
- 数据中心已死:2025 年 80% 将关闭,目前 10%
- 【LeetCode】64. Minimum Path Sum
- 小论坛 之Linux服务器搭建Apache PHP mysql 环境
- 电信接入点服务器修改,修改apn加快电信4g网速(电信最佳apn接入点)
- Spark REST服务api官网地址
- ios kb转m_ios压缩到指定的 KB
- 移动机器人c语言程序设计,机器人辅助C程序设计
- 携程Java后台开发三面面经
- 华为和中兴的一点对比
- 【古墓射手】隐私政策
- AAAI 2020 提前看 | 三篇论文解读问答系统最新研究进展
- 对Android view/viewgroup事件分发的理解
- Discuz!应用中心开发者后台在移动线路下无法打开的解决办法
- 自定义设置电脑屏保(.scr文件)
- xbox360游戏下载_如何将游戏文件移动到另一个Xbox
热门文章
- [XDOJ]矩阵相乘
- 百度地图html页面设置大小设置,响应适老化!百度地图全新上线地图显示大小调节功能...
- 入门必学的sql语句
- 软件测试资质有哪些?具备CNAS资质和具备CMA资质的区别是什么?
- R语言Tensorflow安装
- 如何理解paddle.reader.xmap_readers()函数
- 代码规范:规范你我他
- 复制360doc个人图书馆文章经验分享贴(仅供学习)
- 亚马逊和Global Optimism欢迎汉高和昕诺飞加入《气候宣言》
- 门禁系统服务器 控制器 读卡器,门禁系统建设方案.docx