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

📄 qiege.java

📁 数字图像处理JAVA语言编程实现数字图像的切割并把切割前后的图像显现出来
💻 JAVA
字号:
-------------------------------------------------------------------------------------------
/*数字图像切割程序
 切割原理:先要获得图像的基本信息例如图片的长度和宽度以及图片所有像素的信息*/
import java.awt.*;
import java.applet.*;
import javax.imageio.ImageIO;
import javax.swing.*;
import java.awt.geom.*;
import java.awt.image.BufferedImage;
import java.awt.image.*;
public class qiege extends Applet
{       
   	  int w,h; 
   	  Image img1,img;
   	  public void init()
   	  {
   	  	try{  
          BufferedImage bufImg=ImageIO.read(new java.io.File("11670995.jpg"));  //读取图片 
          int width=bufImg.getWidth(); //获取图片宽度  
	        int height=bufImg.getHeight();   //获取图片的长度 
	        w=width;
	        h=height;
	      }
        catch(Exception e){}
	      img1=Toolkit.getDefaultToolkit().getImage("11670995.jpg"); //获取图片
	      int pix[]=new int[w*h];  //定义像素的数组
        PixelGrabber pg=new PixelGrabber(img1,0,0,w,h,pix,0,w); //获取像素
        try{
      	   pg.grabPixels();
      	} 
        catch(InterruptedException e){}
        int pix2[]=new int[w*h];
        int pix3[]=new int[w*h];
        int a,i,j,k=0,x,flag1=0,flag2,y=20;
        a=pix[0];
        int xs[][]=new int[h][w];
        for(i=0;i<h;i++)
           for(j=0;j<w;j++)
           { 
           	  xs[i][j]=pix[k];
           	  k++;
           }
           
        for(i=0;i<h;i++)    //
         {
         	  j=0;
         	  k=w-1;
         	  do{
         	  	if(xs[i][j]<=a+1750000)
         	  	{ 
         	  		xs[i][j]=-1;
         	  		j++;
         	  	}	
         	  	else
         	  	    break;
         	  }while(j<w);
         	  do{
         	  	 if(xs[i][k]<=a+1750000)
         	  	 {
         	  	 	  xs[i][k]=-1;
         	  	 	  k--;
         	  	 }
         	  	 else
         	  	   break;
         	  }while(k>0);
          }
         for(i=0;i<w;i++)
         {
         	  j=0;
         	  k=h-1;
         	  do{
         	  	if(xs[j][i]<=a+1750000||xs[j][i]==-1)
         	  	{ 
         	  		xs[j][i]=-1;
         	  		j++;
         	  	}	
         	  	else
         	  	    break;
         	  }while(j<h);
         	  do{
         	  	 if(xs[k][i]<=a+1750000||xs[k][i]==-1)
         	  	 {  
         	  	 	  xs[k][i]=-1;
         	  	 	  k--;
         	  	 }
         	  	 else
         	  	   break;
         	  }while(k>0);
          }
          
         k=0;
         for(i=0;i<h;i++)
           for(j=0;j<w;j++)
           { 
           	  pix2[k]=xs[i][j];      	  
           	  k++;
           }
          
          
         
 
        
        img=createImage(new MemoryImageSource(w,h,pix2,0,w));    //通过像素生成图片
        
   	  } 
      public void paint(Graphics g)
      {
      	g.drawImage(img1,10,10,this); //输出原图  	
      	g.drawImage(img,600,10,this);  
      }    
}   
----------------------------------------------------------------------------------------------------

⌨️ 快捷键说明

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