📄 laplace2.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;
public class Laplace2 extends BasicImage {
public Laplace2() {
super();
// TODO 自动生成构造函数存根
}
public Laplace2(String fileName) {
super(fileName);
// TODO 自动生成构造函数存根
}
/**
* @param args
*/
public int[] laplace2DFileter(int []data,int width,int height){
int filterData[]=new int[data.length];
int min=10000;
int max=-10000;
for(int i=0;i<height;i++){
for(int j=0;j<width;j++){
if(i==0 || i==height-1 || j==0 || j==width-1)
filterData[i*width+j]=data[i*width+j];
else
filterData[i*width+j]=9*data[i*width+j]-data[i*width+j-1]-data[i*width+j+1]
-data[(i-1)*width+j]-data[(i-1)*width+j-1]-data[(i-1)*width+j+1]
-data[(i+1)*width+j]-data[(i+1)*width+j-1]-data[(i+1)*width+j+1];
if(filterData[i*width+j]<min)
min=filterData[i*width+j];
if(filterData[i*width+j]>max)
max=filterData[i*width+j];
}
}
// System.out.println("max: "+max);
// System.out.println("min: "+min);
for(int i=0;i<width*height;i++){
filterData[i]=(filterData[i]-min)*255/(max-min);
}
return filterData;
}
public Image imageProcess()
{
int dataProcessed []=this.laplace2DFileter(this.imageData,this.wideth,this.height);
imageProcessed=this.createImage(dataProcessed);
return imageProcessed;
}
public void saveImageAfterProcess()
{
System.out.println("-------------imageProcess()");
this.saveImage("d:\\zyy.jpg");
}
public void showImageAfterProcess()
{}
public static void main(String[] args) {
// TODO 自动生成方法存根
Laplace2 zyy=new Laplace2("003.jpg");
zyy.imageProcess();
zyy.saveImage("d:\\zyy.jpg");
System.out.println("-------------end");
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -