📄 qjfzcl.java
字号:
package image;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.awt.image.ImageObserver;
import java.awt.image.MemoryImageSource;
import java.awt.image.PixelGrabber;
import java.awt.image.Raster;
import java.io.*;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
//**********************全局阀值2值处理
public class Qjfzcl extends BasicImage {
double coefficients;
double gate;
public Qjfzcl() {
super();
// TODO 自动生成构造函数存根
}
public Qjfzcl(String fileName,double coefficients ,double gate) {
super(fileName);
//this.w=w;
//this.h=h;
this.coefficients=coefficients;
this.gate=gate;
// TODO 自动生成构造函数存根
}
public int[] thresholdProcess(int []data,int width,int height,double coefficients,double gate){
int [] processData=new int[data.length];
if(data.length!=width*height)
return processData;
else{
double sum=0;
double average=0;
double variance=0;
double threshold;
if( gate!=0){
threshold=gate;
}
else{
for(int i=0;i<width*height;i++){
sum+=data[i];
}
average=sum/(width*height);
for(int i=0;i<width*height;i++){
variance+=(data[i]-average)*(data[i]-average);
}
variance=Math.sqrt(variance);
threshold=average-coefficients*variance;
}
for(int i=0;i<width*height;i++){
if(data[i]>threshold)
processData[i]=255;
else
processData[i]=0;
}
return processData;
}
}
public Image imageProcess()
{
System.out.println("-------------imageProcess()");
int [] data_processed=this.thresholdProcess(this.imageData,this.wideth,this.height,this.coefficients,this.gate) ;
imageProcessed=this.createImage(data_processed);
return imageProcessed;
}
public void saveImageAfterProcess()
{
System.out.println("-------------imageProcess()");
this.saveImage("d:\\006.bmp");
}
public void showImageAfterProcess()
{}
/**
* @param args
*/
/**
* @param args
*/
public static void main(String[] args) {
// TODO 自动生成方法存根
Qjfzcl zyy=new Qjfzcl("003.jpg",1.5,34);
zyy.imageProcess();
zyy.saveImage("d:\\zyyQjfzcl.jpg");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -