import java.awt.Dimension;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.videoio.VideoCapture;
import org.opencv.videoio.Videoio;
public class CameraCapture {
public static void main(String[] args) {
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
VideoCapture capture = new VideoCapture(0);
capture.set(Videoio.CAP_PROP_FRAME_WIDTH, 640);
capture.set(Videoio.CAP_PROP_FRAME_HEIGHT, 480);
if (!capture.isOpened()) {
System.out.println("Unable to open camera.");
return;
}
DisplayWindow window = new DisplayWindow();
window.setVisible(true);
while (true) {
Mat frame = new Mat();
capture.read(frame);
if (frame.empty()) {
break;
}
BufferedImage image = ImageUtils.matToBufferedImage(frame);
window.setImage(image);
try {
ImageIO.write(image, "jpg", new File("output.jpg"));
} catch (Exception e) {
e.printStackTrace();
}
}
if (capture.isOpened()) {
capture.release();
}
System.out.println("Camera capture completed.");
}
}