webcamcapture.java

来自「最近去看監視器材,看到他們的監視軟體 就突發奇想自己來寫一個看看 程式會」· Java 代码 · 共 97 行

JAVA
97
字号
import java.io.*;
//import java.lang.*;
import java.util.*;
import javax.media.*;
import javax.media.util.*;
import javax.media.control.*;
import javax.media.format.*;
import javax.media.protocol.*;
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

public class webcamCapture extends Frame
{
	private final String JPGfileName="0000";

	private BufferedImage imageOrg;
	private BufferedImage imageExe;
	private BufferedImage photo;
	private FrameGrabber webcam;
	private int threshold = 200;
	private Color on = Color.white;
	private Color off = Color.black;

	private difference diffImage;

	public static void main(String[] args)
	{
		new webcamCapture();
	}

	public webcamCapture()
	{
		addWindowListener(new WindowListener());
		setTitle("Webcam Capture");

		webcam = new FrameGrabber();
		webcam.start();

		imageOrg = webcam.getBufferedImage();
		setSize(imageOrg.getWidth(this)+8,imageOrg.getHeight(this)+34);
		setLocation(200,200);
		setVisible(true);
		setBackground(Color.white);
//		difference diffImage=new difference(imageOrg);
		diffImage=new difference(imageOrg);

//		getContentPane().setLayout(null);

//		show();


		while(true)
		{
			imageOrg = webcam.getBufferedImage();
//			diffImage.doProcess(imageOrg);
			imageExe=diffImage.doProcess(imageOrg);

			repaint();

			if(diffImage.movementWarning(5))
			{
				fileSave save=new fileSave(imageOrg);
			}

			try
			{
				Thread.sleep(50);
			} catch(Exception e)
			{
				System.out.println("Error");
			}
		}
	}

	public void update(Graphics g)
	{
		if (imageExe != null)
		{
			g.drawImage(imageExe,4,30,this);

		}
	}

	class WindowListener extends WindowAdapter
	{
		public void windowClosing(WindowEvent e)
		{
			System.exit(0);
		}
	}

}

⌨️ 快捷键说明

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