나는 사람의 이미지를 포착하고 해당 이미지를 양식에 표시하고자하는 양식이 있습니다.Java에서 웹캠에 연결하는 방법은 무엇입니까?
어떻게 Java를 통해 웹캠에 연결하고 해당 이미지를 양식에 표시 할 수 있습니까?
나는 사람의 이미지를 포착하고 해당 이미지를 양식에 표시하고자하는 양식이 있습니다.Java에서 웹캠에 연결하는 방법은 무엇입니까?
어떻게 Java를 통해 웹캠에 연결하고 해당 이미지를 양식에 표시 할 수 있습니까?
JavaCV을 사용하여 이미지를 캡처 할 수 있습니다.
이 코드는 당신이 시작 (here에서 촬영) 취득해야합니다
import com.googlecode.javacv.CanvasFrame;
import com.googlecode.javacv.FrameGrabber;
import com.googlecode.javacv.VideoInputFrameGrabber;
import com.googlecode.javacv.cpp.opencv_core.IplImage;
public class GrabberShow implements Runnable {
//final int INTERVAL=1000;///you may use interval
IplImage image;
CanvasFrame canvas = new CanvasFrame("Web Cam");
public GrabberShow() {
canvas.setDefaultCloseOperation(javax.swing.JFrame.EXIT_ON_CLOSE);
}
@Override
public void run() {
FrameGrabber grabber = new VideoInputFrameGrabber(0);
int i=0;
try {
grabber.start();
IplImage img;
while (true) {
img = grabber.grab();
if (img != null) {
cvFlip(img, img, 1);// l-r = 90_degrees_steps_anti_clockwise
cvSaveImage((i++)+"-capture.jpg", img);
// show image on window
canvas.showImage(img);
}
//Thread.sleep(INTERVAL);
}
} catch (Exception e) {
}
}
}
Webcam Capture 프로젝트를 사용하면이 작업을 수행 할 수 있습니다. Windows XP, Vista, 7, Linux, Mac OS, Raspberry Pi 등에서 작동합니다. 웹캠의 이미지를 표시하는 데 사용할 수있는 JPanel을 확장하여 사용할 수있는 스윙 구성 요소가 준비되어 있습니다. 이 작업을 수행 할 수있는 방법의 자세한 내용은 this example을 발견하십시오 - 그것은이 구성 요소의 일부 고급 기능을 제공하지만, 기본적인 사용법은 다음과 같습니다
JFrame window = new JFrame("Test webcam panel");
window.add(new WebcamPanel(Webcam.getDefault()));
window.pack();
window.setVisible(true);
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
당신은 당신이에서 이미지 JFrame의를 볼이 코드를 실행하면 사용자의 웹캠 내부.
Webcam.setAutoOpenMode(true);
BufferedImage image = Webcam.getDefault().getImage();
ImageIO.write(image, "PNG", new File("F:/test.png"));
이 https://github.com/sarxos/webcam-capture
에서 최신 버전을 다운로드하고 다른 라이브러리 파일을 추가 할 수 zip 파일에
http://stackoverflow.com/questions/2004405/how-to-capture-video -from-webcamin-java –
http://stackoverflow.com/questions/276292/capturing-image-from-webcam-in-java – PeterMmm