能不能利用bufferedimage类中的方法读出灰度图像的像素值
1个回答
2011-03-15
展开全部
/////////////////灰度转换\\\\\\\\\\\\\\
private void RGBtoGray(){
if(bi == null){
jlabel.setText("请先载入图像");
return;
}
jlabel.setText("");
new GrayPic(bi,width,height);
ColorModel cm = ColorModel.getRGBdefault();
int r,g,b,c;
for(int i=0;i<width-1;i++){
for(int j=0;j<height-1;j++){
c = bi.getRGB(i, j);
r = cm.getRed(c);
g = cm.getGreen(c);
b = cm.getBlue(c);
int gray=(int)(r*0.3+g*0.59+b*0.11);
r=g=b=gray;
bi.setRGB(i, j, (255 << 24) | (r << 16) | (g << 8 )| b);
}
}
show(bi);
}
private void RGBtoGray(){
if(bi == null){
jlabel.setText("请先载入图像");
return;
}
jlabel.setText("");
new GrayPic(bi,width,height);
ColorModel cm = ColorModel.getRGBdefault();
int r,g,b,c;
for(int i=0;i<width-1;i++){
for(int j=0;j<height-1;j++){
c = bi.getRGB(i, j);
r = cm.getRed(c);
g = cm.getGreen(c);
b = cm.getBlue(c);
int gray=(int)(r*0.3+g*0.59+b*0.11);
r=g=b=gray;
bi.setRGB(i, j, (255 << 24) | (r << 16) | (g << 8 )| b);
}
}
show(bi);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询