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

📄 zyy.java

📁 计算机图象处理的java源代码,可以实现图象的放大缩小等基本功能
💻 JAVA
📖 第 1 页 / 共 2 页
字号:
package image;
import java.awt.BorderLayout;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import java.awt.event.ActionListener;
import java.io.File;
import java.awt.*;
import java.awt.image.*;

import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JFileChooser;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import javax.swing.JTextArea;
import javax.swing.JMenuBar;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JLabel;

//import com.Sbh_Ssj;

//import com.sun.media.sound.Toolkit;

public class zyy extends JFrame implements ActionListener {

	private JPanel jContentPane = null;
	private JButton jButton1 = null;
	private JMenuBar jJMenuBar = null;
	private JMenu file = null;
	private JMenuItem 打开 = null;
	private JMenuItem 关闭 = null;
	private JMenuItem 保存 = null;
	private JMenu imageProcess = null;
	private JMenu help = null;
	private JMenuItem readme = null;
	private JFileChooser jfcooser=new JFileChooser("c:/");   
	private Toolkit toolkit;
	private Image image;
	String processType="";
	String fileName;
	private JLabel jLabel = null;
	private JLabel jLabel1 = null;
	private JLabel jLabel2 = null;
	private JLabel jLabel3 = null;
	private JMenuItem 灰度化 = null;
	private JMenuItem laplace2阶滤波 = null;
	private JMenuItem laplace2阶增强滤波 = null;
	private JMenuItem 局部阈值处理 = null;
	private JMenuItem 全局阈值处理 = null;
	private JMenuItem 垂直边缘检测 = null;
	private JMenuItem 图像平滑 = null;
	double delt=0;
	double coefficients=0;
	double gate=0;
	double sobelCoefficients=0;
	/**
	 * This method initializes jButton1	
	 * 	
	 * @return javax.swing.JButton	
	 */
	private JButton getJButton1() {
		if (jButton1 == null) {
			jButton1 = new JButton();
			jButton1.setBounds(new java.awt.Rectangle(329,257,60,26));
			jButton1.setText("退出");
			jButton1.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
				    dispose();	
					System.out.println("22222222222222actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return jButton1;
	}

	/**
	 * This method initializes jJMenuBar	
	 * 	
	 * @return javax.swing.JMenuBar	
	 */
	private JMenuBar getJJMenuBar() {
		if (jJMenuBar == null) {
			jJMenuBar = new JMenuBar();
			jJMenuBar.add(getFile());
			jJMenuBar.add(getImageProcess());
			jJMenuBar.add(getHelp());
		}
		return jJMenuBar;
	}

	/**
	 * This method initializes jMenu	
	 * 	
	 * @return javax.swing.JMenu	
	 */
	private JMenu getFile() {
		if (file == null) {
			file = new JMenu();
			file.setText("文件");
			file.add(get打开());
			file.add(get关闭());
			file.add(get保存());
		}
		return file;
	}

	/**
	 * This method initializes 打开	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem get打开() {
		if (打开 == null) {
			打开 = new JMenuItem();
			打开.setText("打开");
			打开.addActionListener(this);
			
		}
		return 打开;
	}

	/*
	 BufferedImage   bufferedimage   =   ImageIO.read(file); 
	      //把wideth和height替换成想要的尺寸就可以了 
	                        wideth   =   bufferedimage.getWidth(null); 
	                        height   =   bufferedimage.getHeight(null); 


	                        BufferedImage   bufferedimage1   =   new   BufferedImage(wideth,   height,   1); 
	                        bufferedimage1.getGraphics().drawImage(bufferedimage,   0,   0,   wideth,   height,   null); 
	 */
		public void actionPerformed(java.awt.event.ActionEvent e) {
			
			if(e.getActionCommand().compareTo("打开")==0)
			{
				
				
				
			int result=jfcooser.showOpenDialog(this);
			
			if(result==JFileChooser.APPROVE_OPTION)
			{
				File file=jfcooser.getSelectedFile();
				System.out.print("dsfssdf"+jfcooser.getSelectedFile());
				//jTextArea.append("you have open the file:"+file.getName()+"!");
				 fileName=file.getPath();
				 Toolkit toolkit=Toolkit.getDefaultToolkit();
				 //System.out.println("------------- fileNameselected:"+fileName+"selected filePath:"+file.getPath());
					ImageIcon a = new ImageIcon(file.getPath());
					jLabel.setIcon(a);
			
				 
			}
			
			else
			{
				//jTextArea.append("you have  not open anyfile!");
			}
			System.out.println("文件打开:"+jfcooser.getSelectedFile());
			//jTextArea.setText("打开");
			System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
		}
			
		}
		
	/**
	 * This method initializes 关闭	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem get关闭() {
		if (关闭 == null) {
			关闭 = new JMenuItem();
			关闭.setText("关闭");
			关闭.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					//jTextArea.setText("关闭");
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
					dispose();
				}
			});
		}
		return 关闭;
	}

	/**
	 * This method initializes 保存	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem get保存() {
		if (保存 == null) {
			保存 = new JMenuItem();
			保存.setText("保存");
			保存.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					
					//jTextArea.setText("保存");
					boolean isImageSaved=false;
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
					String saveFileName = JOptionPane.showInputDialog("请输入要保存的地址和文件名,例如d:\\zyy.jpg");
					if(saveFileName==null)
					{
						JOptionPane.showMessageDialog(zyy.this,"您没有输入图象名字!", "Message Dlg",JOptionPane.INFORMATION_MESSAGE);
					}
					else
					{
					if(processType.trim().compareTo("灰度化")==0)
					{
						GrayImage zyy=new GrayImage(fileName);
						  zyy.imageProcess();
						  zyy.saveImage(saveFileName);
						  isImageSaved=true;
					}
					else if(processType.trim().compareTo("laplace2阶滤波")==0)
					{
						Laplace2 zyy=new Laplace2(fileName);
						zyy.imageProcess();
						zyy.saveImage(saveFileName);
						isImageSaved=true;
					}
					else if(processType.trim().compareTo("laplace2阶增强滤波")==0)
					{
						Laplace2Delt zyy=new Laplace2Delt(fileName,delt);
						zyy.imageProcess();
						zyy.saveImage(saveFileName);
						isImageSaved=true;
					}
					else if(processType.trim().compareTo("局部阈值处理")==0)
					{
						Jbfzcl zyy=new Jbfzcl(fileName,3,2,coefficients, gate);
						zyy.imageProcess();
						zyy.saveImage(saveFileName);
						isImageSaved=true;
					}
					else if(processType.trim().compareTo("全局阈值处理")==0)
					{
						Qjfzcl zyy=new Qjfzcl(fileName,coefficients, gate);
						zyy.imageProcess();
						zyy.saveImage(saveFileName);
						isImageSaved=true;
					}
					else if(processType.trim().compareTo("垂直边缘检测")==0)
					{
						Czbyjc zyy=new Czbyjc(fileName,(int)sobelCoefficients);
						zyy.imageProcess();
						zyy.saveImage(saveFileName);
						isImageSaved=true;
					}
					else if(processType.trim().compareTo("图像平滑")==0)
					{
						Filter zyy=new Filter(fileName);
						zyy.imageProcess();
						zyy.saveImage(saveFileName);
						isImageSaved=true;
					}
					else if(processType.trim().compareTo("直方图均衡化")==0)
					{
						Zftjhh zyy=new Zftjhh(fileName);
						zyy.imageProcess();
						zyy.saveImage(saveFileName);
						isImageSaved=true;
					}
					
					}
					if(isImageSaved)
					{
						JOptionPane.showMessageDialog(zyy.this,"图象保存成功,保存的位置和名字为:"+saveFileName, "Message Dlg",JOptionPane.INFORMATION_MESSAGE);
					}
					else
					{
						JOptionPane.showMessageDialog(zyy.this,"图象保存失败,请检查输入的名字是否正确!", "Message Dlg",JOptionPane.INFORMATION_MESSAGE);
					
					}
					
				}
			});
		}
		return 保存;
	}

	/**
	 * This method initializes jMenu1	
	 * 	
	 * @return javax.swing.JMenu	
	 */
	private JMenu getImageProcess() {
		if (imageProcess == null) {
			imageProcess = new JMenu();
			imageProcess.setText("图象处理");
			imageProcess.add(get灰度化());
			imageProcess.add(getLaplace2阶滤波());
			imageProcess.add(getLaplace2阶增强滤波());
			imageProcess.add(get局部阈值处理());
			imageProcess.add(get全局阈值处理());
			imageProcess.add(get垂直边缘检测());
			imageProcess.add(get图像平滑());
		}
		return imageProcess;
	}

	/**
	 * This method initializes help	
	 * 	
	 * @return javax.swing.JMenu	
	 */
	private JMenu getHelp() {
		if (help == null) {
			help = new JMenu();
			help.setText("帮助");
			help.add(getReadme());
		}
		return help;
	}

	/**
	 * This method initializes readme	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getReadme() {
		if (readme == null) {
			readme = new JMenuItem();
			readme.setText("关于");
			readme.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					JTextPaneTest test = new JTextPaneTest();
					  test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
					  test.setVisible(true);
					System.out.println("actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				}
			});
		}
		return readme;
	}

	/**
	 * @param args
	 */
	
	public void  showImage()
	{
		//toolkit=this.getToolkit();
		//img=toolkit.getClass();
		
		
	}
	/**
	 * This method initializes 灰度化	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem get灰度化() {
		if (灰度化 == null) {
			灰度化 = new JMenuItem();
			灰度化.setText("灰度化");
			灰度化.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("------------------灰度化actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				    if(fileName==null||fileName.trim().compareTo("")==0)
				    {
				    	System.out.println("------------- please select a picture!");
				    	JOptionPane.showMessageDialog(zyy.this,"请先打开要处理的图象!", "Message Dlg",JOptionPane.INFORMATION_MESSAGE);
                         //JOptionPane.showMessageDialog(Sbh_Ssj.this, "请保存"	+ extraname1+ "数据!","Message Dialog",JOptionPane.ERROR_MESSAGE);
				   
				    }
				    else
				    {
				    	processType="灰度化";
				    	GrayImage zyy=new GrayImage(fileName);
				    	//imageProcessed=zyy.imageProcess();
						 ImageIcon a = new ImageIcon(zyy.imageProcess());
							jLabel1.setIcon(a);
						
				    }
				}
			});
		}
		return 灰度化;
	}

	/**
	 * This method initializes laplace2阶滤波	
	 * 	
	 * @return javax.swing.JMenuItem	
	 */
	private JMenuItem getLaplace2阶滤波() {
		if (laplace2阶滤波 == null) {
			laplace2阶滤波 = new JMenuItem();
			laplace2阶滤波.setText("laplace2阶滤波");
			laplace2阶滤波.addActionListener(new java.awt.event.ActionListener() {
				public void actionPerformed(java.awt.event.ActionEvent e) {
					System.out.println("------------------laplace2阶滤波actionPerformed()"); // TODO Auto-generated Event stub actionPerformed()
				    if(fileName==null||fileName.trim().compareTo("")==0)
				    {
				    	System.out.println("------------- please select a picture!");
				    	JOptionPane.showMessageDialog(zyy.this,"请先打开要处理的图象!", "Message Dlg",JOptionPane.INFORMATION_MESSAGE);
				    }
				    else
				    {
				    	processType="laplace2阶滤波";
				    	Laplace2 zyy=new Laplace2(fileName);
				    	//imageProcessed=zyy.imageProcess();
					 ImageIcon a = new ImageIcon(zyy.imageProcess());
							jLabel1.setIcon(a);
						
				    }
				}

⌨️ 快捷键说明

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