나는 기상 RGB 유형 BufferedImage
을 가지고 있습니다. 나는 그들에 대한 평균적인 이미지를 원한다. 이것으로 각 픽셀의 평균값을 얻고 그 값에서 새로운 이미지를 만듭니다. 내가 시도한 것은 :자바에서 일련의 이미지의 평균 이미지를 얻으십시오
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