equilibrategray.java
来自「jpeg图像均衡化处理 进行灰度化处理和图像均衡化 图片格式为jpg」· Java 代码 · 共 36 行
JAVA
36 行
import java.awt.image.BufferedImage;
import java.awt.image.WritableRaster;
public class EquilibrateGray {
public void Equilibrate(BufferedImage image){
int w = image.getWidth();
int h = image.getHeight();
WritableRaster raster = image.getRaster();
int [] a = new int[3];
double [] image_HG = new double [256];
double [] SumGray = new double [256];
int sum = w*h;
for(int i = 0;i < h;i++){
for(int j = 0;j < w;j++){
raster.getPixel(j, i, a);
image_HG[a[0]] ++ ;
}
}
SumGray[0] = image_HG[0];
for(int i = 1;i <256;i++){
SumGray[i]=SumGray[i-1]+image_HG[i];
}
for(int i = 0;i < 256;i++){
SumGray[i] = (SumGray[i]*255)/sum;
}
//修改图像
for(int i = 0;i < h;i++){
for(int j = 0;j < w;j++){
raster.getPixel(j, i, a);
raster.setPixel(j, i, new double []{SumGray[a[0]],SumGray[a[0]],SumGray[a[0]]});
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?