Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsWhite Papers
Discussion GroupsFirst AidDatabasesJavaBeansGUIJava 3DVirtual MachineCORBASecurityToolsGeneral
Java DirectoryOpen Source ProjectsSample Book ChaptersUser GroupsWeb Resources
Related Topics
Databases.NETMore Topics ...

Java Forum / General / August 2006

Tip: Looking for answers? Try searching our database.

WEB-CAMM picture capturing

Thread view: 
azsx - 16 Aug 2006 14:18 GMT
Can someone tell how can I use Java to capture some webcamm data?
Oliver Wong - 16 Aug 2006 20:05 GMT
> Can someone tell how can I use Java to capture some webcamm data?

   When I google for "Java webcamm", Google asks me if I meant "Java
webcam", and when I say yes, I get
http://www.surveyor.com/support/webcam32help/java.html

   - Oliver
Dag Sunde - 17 Aug 2006 09:54 GMT
> Can someone tell how can I use Java to capture some webcamm data?

Take a look at "Java Media Framework API (JMF)"
(See here: http://java.sun.com/products/java-media/jmf/index.jsp)

Below is a sample that works ok with my 10$ camera...:

//------------------------------------
import java.io.*;
import java.util.*;
import java.awt.*;
import java.awt.image.*;
import javax.imageio.*;
import javax.media.*;
import javax.media.control.*;
import javax.media.format.*;
import javax.media.util.*;

/**
* Grabs a frame from a Webcam, overlays the current date and time,
* and saves the frame as a PNG to c:\webcam.png
*
* @author David
* @version 1.0, 16/01/2004
*/
public class FrameGrab
{
 public static void main(String[] args) throws Exception
 {
   // Create capture device
   CaptureDeviceInfo deviceInfo = CaptureDeviceManager.getDevice(
       "vfw:Microsoft WDM Image Capture (Win32):0");

   Player player = Manager.createRealizedPlayer(deviceInfo.getLocator());
   player.start();

   // Wait a few seconds for camera to initialise (otherwise img==null)
   Thread.sleep(2500);

   // Grab a frame from the capture device
   FrameGrabbingControl frameGrabber =
(FrameGrabbingControl)player.getControl(
       "javax.media.control.FrameGrabbingControl");

   Buffer buf = frameGrabber.grabFrame();

   // Convert frame to an buffered image so it can be processed and saved
   Image img = (new
BufferToImage((VideoFormat)buf.getFormat()).createImage(buf));
   BufferedImage buffImg = new BufferedImage(img.getWidth(null),
       img.getHeight(null), BufferedImage.TYPE_INT_RGB);

   Graphics2D g = buffImg.createGraphics();
   g.drawImage(img, null, null);

   // Overlay curent time on image
   g.setColor(Color.RED);
   g.setFont(new Font("Verdana", Font.BOLD, 16));
   g.drawString((new Date()).toString(), 10, 25);

   // Save image to disk as PNG
   ImageIO.write(buffImg, "jpg", new File(
       "d:\\javaProjects\\capture\\src\\webcam.jpg"));

   // Stop using webcam
   player.close();
   player.deallocate();
   System.exit(0);
 }
}
//------------------------------------

Signature

Dag.

azsx - 17 Aug 2006 23:57 GMT
Thanks. Now I have another issue: how can I transmit web-camera data
via  a network or Internet???
Dag Sunde - 18 Aug 2006 00:26 GMT
> Thanks. Now I have another issue: how can I transmit web-camera data
> via  a network or Internet???

Live?
Read the API doc and samples at the link I posted.
The word you're looking for is probably "Streaming"

But if you mean how to publish a static picture out
on a web-server or another network machine after you grabbed
it, its only a question of copying it, POSTing it via http,
FTP it or whatever means you find convenient.

Signature

Dag.



Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.