使用默认值,并使用网站上第一个示例中的相同源图像:http://www.tomgibara.com/computer-vision/canny-edge-detector我得到了纯黑色图像作为out.jpg。尺寸正确,但是未检测到边缘。

有人可以告诉我如何复制第一个示例吗?

我的代码:

import java.awt.*;
import java.awt.image.*;
import java.io.*;
import javax.imageio.*;
import javax.swing.*;

public class CannyCmd
{

    public static void main(String args[])
    {

        BufferedImage img = null;

        try
        {
            img = ImageIO.read(new File("in.jpg"));
        }
        catch (Exception e)
        {
          e.printStackTrace();
          System.exit(1);
        }


        CannyEdgeDetector detector = new CannyEdgeDetector();
        detector.setSourceImage(img);
        detector.process();
        BufferedImage edges = detector.getEdgesImage();

        File saveFile = new File("out.jpg");

        try
        {
            ImageIO.write(edges, "jpg", saveFile);
        }
        catch (IOException ex) {}

    }
}

最佳答案

 File saveFile = new File("out.png");
 ImageIO.write(edges, "png", saveFile);

08-16 00:52