gpt4 book ai didi

java - putPixel 与 ImageJ

转载 作者:行者123 更新时间:2023-12-02 04:18:03 25 4
gpt4 key购买 nike

我是 ImageJ 初学者,我尝试使用 putPixel 但没有取得太大成功。

ImagePlus ip = IJ.getImage();
HistogramWindow histo = new HistogramWindow(ip);
int w = ip.getWidth(), h = ip.getHeight();
int[] pixels = new int[4];
int[] pxltmp = {0,0,0};
int temp = 0;
for (int j = 0; j < h; j++){
for (int i = 0; i < w; i++) {
pixels = (int[])ip.getPixel(i,j);
pxltmp[0] = pixels[2];
pxltmp[1] = pixels[1];
pxltmp[2] = pixels[0];
**ip.putPixel(i,j,pxltmp);**
}
}

我的插件在这一行中断,我试图向 putPixel 发送 x、y 和三个像素的数组。我究竟做错了什么?另外,有没有更好的方法来获取 ImageJ 中的错误消息,我现在一无所知。我尝试设置 Eclipse 但遇到问题。

最佳答案

您的 ip 变量是一个 ImagePlus 并且没有 putPixel() 方法。首先获取ImageProcessor,然后它就应该可以工作了。

ImagePlus imp = IJ.getImage();
ImageProcessor ip = imp.getProcessor();
ip.putPixel(x,y,value);

看起来您只想将 RGB 转换为 BGR。使用 ImageJ 命令可以更简单地完成此操作:

IJ.run(imp, "RGB Stack", "");
IJ.run(imp, "Reverse", "");
IJ.run("Stack to RGB", "");

关于java - putPixel 与 ImageJ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33092676/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com