1
자바에서 이미지의 표준 편차를 계산하려고합니다. 각 그레이 레벨을 얻으려면 rast.Sample을 사용하고 있습니다. 그런 다음 평균에서 멀어지면서 그것을 제곱합니다.자바의 이미지 막대 그래프의 분산
내 코드입니다 : 내가 어리석은 일을하고 있어요
public int standardDeviation(BufferedImage source)
{
int width = source.getWidth();
int height = source.getHeight();
int totalPixels = width * height;
int temp = 0;
int VarianceSum = 0;
double SumSquared = 0;
int mean = mean(source);
double variance = 0;
int StandardDeviation = 0;
Raster rast = source.getRaster();
//Loop through rast getting each grey level.
for(int i =0; i<width; i++)
{
for(int j=0; j<width; j++)
{
temp = rast.getSample(i,j,0);
VarianceSum += (temp - mean);
SumSquared = Math.pow(VarianceSum,2);
}
}
variance = SumSquared/totalPixels;
System.out.println(temp);
System.out.println(VarianceSum);
//System.out.println(SumSquared);
System.out.println(totalPixels);
return StandardDeviation;
}
! 도와주세요
직면 한 문제는 무엇입니까? 또한 수정하지 않을 경우 getRaster 대신 getData()를 사용하십시오. – Rolle
표준 편차 값이 0으로 반환됩니다. – CBoyle
for 루프는 어떻게해야합니까? – CBoyle