Witam
Mam problem z przeprowadzeniem binaryzacji obrazu.
Najpierw wczytuje obraz kolorowy ,zmieniam go do skali szarości :
public BufferedImage binaryzacja()
{
BufferedImage bF = null;
try{
bF = new BufferedImage(this.width,this.height,BufferedImage.TYPE_INT_RGB);
for (int i = 0; i < this.height; i++) {
for (int j = 0; j < this.width; j++) {
int pxl = this.tab[i * this.width + j];
int b = (pxl & 0x000000ff);
int g = ((pxl >> 8) & 0x000000ff);
int r = ((pxl >> 16) & 0x000000ff);
int c = (int) (0.299 * r + 0.587 * g + 0.114 * b);
pxl = c | c << 8 | c << 16 | 0xff << 24;
//System.out.print(pxl+"\n");
bF.setRGB(j, i, pxl);
}
}
}
catch(Exception io){}
return bF;
}
chcialbym zbinaryzowac obraz sprawdzając próbki pixeli , w jakim zakresie się znajdują (powinny od 0 do 255), jednak po wywołaniu System.out.print(pxl+"\n"); , widzę ,że są to bardzo duże ujemne liczby. W jaki sposób można zamienic te próbki do przedzialu od 0:255 by wprosty sposób dokonac binaryzacji
z góry thx