在 java 中仅使用灰度值数组绘制图像

Draw image with only grayscale value array in java

我开始在 Java 学习图像处理,这是我的问题:我有一个灰度图像的值数组(我假设像素值),每个 (x,y) 位置一个.图片为 96x96。 这些值的一个示例是:

238 
236 
237
238
240
240 
239 
241
241
243
240
239 
231 
212
190
173 
148
122
104

我的问题是,如何仅使用这些像素值绘制此图像?我问这个的原因是因为通常我有可用的原始图像,并且我提取每个像素的红色、绿色和蓝色分量值。但是在这种情况下,如果我想做这样的事情:

// after for loop in which I do  
//Color newColor = new Color(red,green,blue);
//image.setRGB(x,y,newColor.getRGB());

JFrame frame = new JFrame();
JLabel lblimage = new JLabel(new ImageIcon(image));
JPanel mainPanel = new JPanel(new BorderLayout());
mainPanel.add(lblimage);

// add more components here
frame.add(mainPanel);
frame.setVisible(true);

我无法创建颜色 class,因为我没有每个像素的红色、蓝色和绿色值的组件。

我做错了什么?也许我误解了概念,如果是这样我道歉。 非常感谢。

灰度意味着所有三种颜色分量 - R、G 和 B - 都相同。因此,使用灰度值作为颜色分量:

Color newColor = new Color(pixelValue[x][y], pixelValue[x][y], pixelValue[x][y]);
image.setRGB(x, y, newColor.getRGB());