我有一套氣象RGB類型BufferedImage
s。我想獲得他們的平均形象。由此,我的意思是獲得每個像素的平均值,並從這些值中創建一個新圖像。我試過的是:在java中獲取一組圖像的平均圖像
public void getWaveImage(BufferedImage input1, BufferedImage input2){
// images are of same size that's why i'll use first one's width and height
int width = input1.getWidth(), height = input1.getHeight();
BufferedImage output = new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
int[] rgb1 = input1.getRGB(0, 0, width, height, new int[width * height], 0, width);
int[] rgb2 = input2.getRGB(0, 0, width, height, new int[width * height], 0, width);
for(int i=0; i<width; i++){
for(int j=0; j<height; j++){
int rgbIndex = i * width + j;
rgb1[rgbIndex] = (rgb1[rgbIndex] + rgb2[rgbIndex])/2;
}
}
output.setRGB(0, 0, width, height, rgb1, 0, width);
return output;
}
我在做什麼錯了?先謝謝你。
輸入1:
輸入2:
輸出:
首先定義你的平均含義...... – Tschallacka
我不認爲使用''rgb1 [rgbIndex] + rgb2 [rgbIndex])/ 2''會給你兩種輸入顏色之間的顏色。 – f1sh
@Tschallacka對不起,我現在添加了。 – halil