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.toupperca().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")); } el { 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\\桌面\.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 = ne英国留学学校排名w 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\\桌面\.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\\桌面\.jpg"); highgui.imshow("laplace 算子 原图", src.clone()); mat dst = new mat(); //拉普拉斯算子 mat kernel = new mat(3, 3sin2, 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图像处理之自定义图像滤波算子的详细内容,更多关于java opencv图像滤波算子的资料请关注www.887551.com其它相关文章!
本文发布于:2023-04-05 02:02:28,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/43d702d39d79958211e0f8652b654aed.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Java OpenCV图像处理之自定义图像滤波算子.doc
本文 PDF 下载地址:Java OpenCV图像处理之自定义图像滤波算子.pdf
留言与评论(共有 0 条评论) |