eio*_*qui 14 java image-processing imagej
在常规Java应用程序中,我有一个BufferedImage,我想用ImageJ操作.我有一个宏,这正是我需要执行的.我怀疑第一步是创建一个ImagePlus对象,但我不知道如何在Java中运行ImagePlus对象上的宏.这里找到的ImageJ教程的7.3节说:
如果您决定使用ImagePlus作为内部图像格式,您还可以使用ImageJ发行版中的所有插件和宏以及所有其他ImageJ插件.
但并未说明如何操作.如果有人可以解释如何,或指向我的资源,我会非常感激.
Hak*_*rce 12
以下站点使用示例描述了ImageJ API:http://albert.rierol.net/imagej_programming_tutorials.html#ImageJ编程基础知识
这些例子包括阅读图像,处理像素等.我想你还需要使用API文档.
下面是一个示例代码,用于打开图像,将其反转并保存回来:
import ij.ImagePlus;
import ij.io.FileSaver;
import ij.process.ImageProcessor;
ImagePlus imgPlus = new ImagePlus("path-to-sample.jpg");
ImageProcessor imgProcessor = imgPlus.getProcessor();
imgProcessor.invert();
FileSaver fs = new FileSaver(imgPlus);
fs.saveAsJpeg("path-to-inverted.jpg");
Run Code Online (Sandbox Code Playgroud)
这里有一个示例代码,演示如何操作图像使其成为灰度:
BufferedImage bufferedImage = imgProcessor.getBufferedImage();
for(int y=0;y<bufferedImage.getHeight();y++)
{
for(int x=0;x<bufferedImage.getWidth();x++)
{
Color color = new Color(bufferedImage.getRGB(x, y));
int grayLevel = (color.getRed() + color.getGreen() + color.getBlue()) / 3;
int r = grayLevel;
int g = grayLevel;
int b = grayLevel;
int rgb = (r<<16) | (g<<8) | b;
bufferedImage.setRGB(x, y, rgb);
}
}
ImagePlus grayImg = new ImagePlus("gray", bufferedImage);
fs = new FileSaver(grayImg);
fs.saveAsJpeg("path-to-gray.jpg");
Run Code Online (Sandbox Code Playgroud)
我希望它可以帮助你开始:)
| 归档时间: |
|
| 查看次数: |
18350 次 |
| 最近记录: |