⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 zftjhh.java

📁 计算机图象处理的java源代码,可以实现图象的放大缩小等基本功能
💻 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 Zftjhh extends BasicImage { //直方图均衡化
	
	GrayImage grayImage=new GrayImage(this.fileName);

	public Zftjhh() {
		super();
		// TODO 自动生成构造函数存根
	}
	public Zftjhh(String fileName) {
		super(fileName);
		// TODO 自动生成构造函数存根
	}
	/**
	 * @param args
	 */
	public int [] grayImage()
	{
		return grayImage.grayImage();
	}
	public int [] equilibrateGray(int[] PixelsGray,int width,int height) 
	
    {    
		System.out.println("-----------------equilibrateGray");
         int gray;
         int length=PixelsGray.length;
         int FrequenceGray[]=new int[length]; 
         int SumGray[]=new int[256]; 
         int ImageDestination[]=new int[length];
         for(int i = 0; i <length ;i++) 
        { 
        	 System.out.println("------------------PixelsGray["+i+"]:"+PixelsGray[i]);
           gray=PixelsGray[i]; 
              FrequenceGray[gray]++; 
        } 
          //    灰度均衡化 
         SumGray[0]=FrequenceGray[0]; 
         for(int i=1;i<256;i++){
               SumGray[i]=SumGray[i-1]+FrequenceGray[i];  
         }
         for(int i=0;i<256;i++) {
               SumGray[i]=(int)(SumGray[i]*255/length);  
         }
         for(int i=0;i<height;i++) 
         { 
               for(int j=0;j<width;j++) 
              { 
                  int k=i*width+j; 
                  ImageDestination[k]=0xFF000000 | ((SumGray[PixelsGray[k]]<< 
                            16 ) | (SumGray[PixelsGray[k]]<< 8 ) | SumGray[PixelsGray[k]]); 
               } 
          }
         return ImageDestination;
      } 
	
	
	public int [] equilibrateGray() 
	{
		return this.equilibrateGray(this.grayImage(),this.wideth,this.height);
	}
	public Image imageProcess()
	{
		 System.out.println("-------------imageProcess()");
		 int [] data_gray= this.equilibrateGray();
		 imageProcessed=this.createImage(data_gray);
		
		return imageProcessed;
	}
		

		public  void saveImageAfterProcess()
		{
			 System.out.println("-------------imageProcess()");
			this.saveImage("d:\\006.bmp");
		}
		
		public  void showImageAfterProcess()
		{}
	
	public static void main(String[] args) {
		// TODO 自动生成方法存根
	
		/*
		GrayImage zyy=new GrayImage("003.jpg");
		  zyy.imageProcess();
		  zyy.saveImage("d:\\006.bmp");
		  */
		Zftjhh zyy=new Zftjhh("003.jpg");
		zyy.imageProcess();
		zyy.saveImage("d:\\008.bmp");
		
	}

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -