原理很简单,首先打开摄像头,new一个Mat容器来储存拍摄的照片,调用函数Imgcodecs.imwrite就可以将图像保存到对应位置,实现拍照的效果了。具体代码如下:
import org.opencv.core.*;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.videoio.VideoCapture;
public class TakePhotos {
static{ System.loadLibrary(Core.NATIVE_LIBRARY_NAME); }
public static void main (String args[]){
VideoCapture camera = new VideoCapture();
camera.open(0);
if(!camera.isOpened()){
System.out.println("Error");
}
else {
Mat frame = new Mat();
try {
System.out.println("准备拍照");
camera.read(frame);
Imgcodecs.imwrite("路径//cameraTakeApicture.jpg", frame);
System.out.println("拍照成功");
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
camera.release();
}
}