java - 需要帮助理解 ConvolveOp 内核类中使用的矩阵

标签 java swing graphics2d

这是来自肮脏的富客户端的代码 - 由 Chet Hasse 编写。

 private void buildConvolveOpTab(JTabbedPane tabbedPane) {
    BufferedImage dstImage = null;
    float[] sharpen = new float[] {
         0.0f, -1.0f,  0.0f,
        -1.0f,  5.0f, -1.0f,
         0.0f, -1.0f,  0.0f
    };
    Kernel kernel = new Kernel(3, 3, sharpen);
    ConvolveOp op = new ConvolveOp(kernel);
    dstImage = op.filter(sourceImage, null);

    tabbedPane.add("Convolve", new JLabel(new ImageIcon(dstImage)));
}

任何人都可以告诉我如何决定该矩阵“锐化”的元素。 我用谷歌搜索了很多,但没有找到任何有用的东西。 提前致谢。

最佳答案

这只是离散卷积核之一,主要用于图像处理,以应用各种空间滤波器,例如模糊或锐化或边缘检测>。您提到的特定内核是laplacian锐化过滤器的近似值。

  1. 引用号:http://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm
  2. 卷积过滤器小程序:http://homepages.inf.ed.ac.uk/rbf/HIPR2/convolutiondemo.htm

关于java - 需要帮助理解 ConvolveOp 内核类中使用的矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14107974/

相关文章:

java - 具有不同嵌入式服务器的 Spring Boot WAR 大小

java - Service层应该写什么方法?

java - 如何从 JButton ActionListener 调用重型算法

java - 粗线防止变形

java - 如何将图像上传到 Android Studio 中的图像 slider ?

java - 使用 JNI 授予对 Android 应用程序的 C/C++ native 端的 root 访问权限,这似乎是不可能的

Java Swing、Corba 对象 - 如何在 DefaultListModel 中存储 Corba 对象?

java - 为什么这段代码注释可以作为JFrame运行?

java - 使用 Graphics2D 在 Java 中将文本打印到页面

java - 在 JAVA 中抗锯齿多边形时出现幽灵白线