我想使用 ImageJ 的查找边缘选项,使用edge-found数组并以编程方式将其保存到另一个文件中。
ImagePlus ip1 = IJ.openImage("myimage.jpg");
ImageProcessor ip = new ColorProcessor(ip1.getWidth(), ip1.getHeight());
ip.findEdges();
然而,函数 findEdges 是抽象的,我找不到边缘找到的图像。
修改
我写了以下几行:
ip.findEdges();
BufferedImage bimg = ip.getBufferedImage();
但是,当我尝试打印出BufferedImage的RGB值时,它只会为每个像素RGB打印“-16777216”。
答案 0 :(得分:2)
好的,我得到了解决方案,问题是我没有将ColorProcessor连接到图像。
ColorProcessor ip = new ColorProcessor(ImageIO.read(new File("my_image.jpg")));
ip.findEdges();
BufferedImage bimg = ip.getBufferedImage();
答案 1 :(得分:0)
ImageProcessor是一个抽象类,它允许派生类提供适当的实现。您需要将ip
声明为类型ColorProcessor
:
ColorProcessor ip = new ColorProcessor(ip1.getWidth(), ip1.getHeight());
ip.findEdges();