Java OpenCV中怎么自定义图像滤波算子
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,今天小编给大家分享一下Java OpenCV中怎么自定义图像滤波算子的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收
千家信息网最后更新 2025年11月07日Java OpenCV中怎么自定义图像滤波算子
今天小编给大家分享一下Java OpenCV中怎么自定义图像滤波算子的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。
示例代码
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中怎么自定义图像滤波算子"这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注行业资讯频道。
算子
知识
篇文章
原图
桌面
图像
内容
不同
很大
代码
大部分
就是
拉普拉斯
效果
效果图
文件
更多
知识点
示例
行业
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
苏州共创网络技术有限公司
和平精英大厅服务器设置
apache配置数据库
数据库如何更新视图
服务器端口 命令
人文社会科学汉英动态术语数据库
acos 数据库
数据库如何与系统连
网络技术的技术层面的演进
数据库Was是什么
电脑连接手机导出数据库
软件开发模型怎么测试
查找数据库第二行
如何通过服务器访问其他网站
上海软件开发公司厂家哪家好
常州软件开发销售价格
软件开发失败的概率
ci服务器中ci的全称
中华人民共和国网络安全法4章
为客户定制化软件开发怎么做账
吃鸡怎么看自己在哪个服务器
承德网络存储服务器公司
服务器维护中文翻译
数据库int类型可以写文字吗
千仞岗公司有软件开发职位吗
酒店式网络安全吗
青岛网络安全攻防实验室
精通收银服务器连接数据库失败
服务器异常993是什么意思
网络技术的专业认知