List of usage examples for org.opencv.videoio VideoCapture read
public boolean read(Mat image)
From source file:OCV_CntrlUvcCamera.java
License:Open Source License
@Override public void run(ImageProcessor arg0) { boolean bret = true; // ----- stop dialog during continuous grabbing ----- diag_free = new JDialog(diag_free, title, false); JButton but_stop_cont = new JButton("Stop"); but_stop_cont.addMouseListener(new MouseAdapter() { @Override/*w ww. j a v a 2s. c o m*/ public void mouseClicked(MouseEvent e) { flag_fin_loop = true; diag_free.dispose(); } }); diag_free.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent e) { flag_fin_loop = true; } }); diag_free.add(but_stop_cont); diag_free.setSize(100, 75); // ----- end of stop dialog ----- // initialize camera VideoCapture src_cap = new VideoCapture(); Mat src_mat = new Mat(); bret = src_cap.open(device); if (!bret) { IJ.error("Camera initialization is failed."); diag_free.dispose(); return; } src_cap.set(CV_CAP_PROP_FRAME_WIDTH, width); src_cap.set(CV_CAP_PROP_FRAME_HEIGHT, height); // Setting the image display window width = (int) src_cap.get(CV_CAP_PROP_FRAME_WIDTH); height = (int) src_cap.get(CV_CAP_PROP_FRAME_HEIGHT); ImagePlus impDsp = IJ.createImage(title, width, height, 1, 24); int[] impdsp_intarray = (int[]) impDsp.getChannelProcessor().getPixels(); impDsp.show(); impDsp.setRoi(0, 0, impDsp.getWidth(), impDsp.getHeight()); // show stop dialog diag_free.setVisible(true); // run for (;;) { if (flag_fin_loop) { break; } // grab impDsp.startTiming(); bret = src_cap.read(src_mat); IJ.showTime(impDsp, impDsp.getStartTime(), title + " : "); if (!bret) { IJ.error("Error occurred in grabbing."); diag_free.dispose(); break; } if (src_mat.empty()) { IJ.error("Mat is empty."); diag_free.dispose(); break; } // display if (src_mat.type() == CvType.CV_8UC3) { OCV__LoadLibrary.mat2intarray(src_mat, impdsp_intarray, width, height); } else { IJ.error("Color camera is supported only."); diag_free.dispose(); break; } impDsp.draw(); // wait wait(wait_time); } diag_free.dispose(); if (src_cap.isOpened()) { src_cap.release(); } }
From source file:Face_Reco.java
public static void main(String args[]) { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); VideoCapture camera = new VideoCapture(0); if (!camera.isOpened()) { System.out.println("Error"); } else {// ww w . j a va2s. c o m Mat frame = new Mat(); while (true) { if (camera.read(frame)) { System.out.println("Frame Obtained"); System.out.println("Captured Frame Width" + frame.width() + "Height" + frame.height()); Imgcodecs.imwrite("Camera.jpg", frame); Imgcodecs.imread("camera.jpg"); Imgcodecs.imread("camera.jpg", Imgcodecs.CV_LOAD_IMAGE_GRAYSCALE); System.out.println("Done!"); break; } } } camera.release(); }
From source file:bikecalibration.OpenCvUtils.java
public static Mat getImageFromVideo(int position, VideoCapture cap) { Mat frame = new Mat(); cap.set(Videoio.CAP_PROP_POS_FRAMES, position); cap.read(frame); return frame; }
From source file:com.randhirkumar.webcam.MainFrameForm.java
public void displayScreen() { Mat webcamImage = new Mat(); VideoCapture videoCapture = new VideoCapture(0); if (videoCapture.isOpened()) { while (true) { videoCapture.read(webcamImage); if (!webcamImage.empty()) { setSize(webcamImage.width() + 50, webcamImage.height() + 70); webcamImage = processor.detect(webcamImage); cameraPanel.convertMatToImage(webcamImage); cameraPanel.repaint();// w w w .j a v a2 s . c o m } else { System.out.println("Problem"); break; } } } }
From source file:ConfOpenCV_Java.ConfOpenCV_Java.java
/** * @param args the command line arguments *///w w w.j a v a 2 s . c o m public static void main(String[] args) { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); System.out.println("Welcome to OpenCV " + Core.VERSION); String outputFile = "mivideo.avi"; VideoCapture vc = new VideoCapture(0); System.out.println("fps= " + Videoio.CAP_PROP_FPS); //vc.set(5, 50); //System.out.println(vc.set(3, 1280)); //vc.set(4, 720); double fps = 30; System.out.println(fps); Size frameSize = new Size((int) vc.get(Videoio.CV_CAP_PROP_FRAME_WIDTH), (int) vc.get(Videoio.CV_CAP_PROP_FRAME_HEIGHT)); System.out.println(frameSize); VideoWriter vw = new VideoWriter(outputFile, VideoWriter.fourcc('X', '2', '6', '4'), fps, frameSize, true); //System.out.println(VideoWriter.fourcc('X', '2', '6', '4')); //System.out.println(vw.isOpened()); Mat frame = new Mat(); //para cargar fotos //Imgcodecs.imread(outputFile) //Imgcodecs.imwrite(outputFile, m); int numFramesRemaining = 5 * (int) fps; NewJFrame ventana = new NewJFrame(); ventana.setVisible(true); g = ventana.getjPanel1().getGraphics(); ventana.pack(); ventana.setVisible(true); while (vc.read(frame) && numFramesRemaining > 0) { vw.write(frame); mostrarImagen(frame); numFramesRemaining--; } vw.release(); vc.release(); ventana.dispose(); }
From source file:FaceRecog.App.java
private void runMainLoop(String[] args) { ImageProcessor imageProcessor = new ImageProcessor(); Mat webcamMatImage = new Mat(); Image tempImage;/* w w w .j a va2s . c om*/ VideoCapture capture = new VideoCapture(0); capture.set(Videoio.CAP_PROP_FRAME_WIDTH, 320); capture.set(Videoio.CAP_PROP_FRAME_HEIGHT, 240); if (capture.isOpened()) { while (true) { capture.read(webcamMatImage); if (!webcamMatImage.empty()) { tempImage = imageProcessor.toBufferedImage(webcamMatImage); ImageIcon imageIcon = new ImageIcon(tempImage, "Captured video"); imageLabel.setIcon(imageIcon); frame.pack(); //this will resize the window to fit the image } else { System.out.println(" -- Frame not captured -- Break!"); break; } } } else { System.out.println("Couldn't open capture."); } }
From source file:formularios.FrmCamera.java
private void jButton4ActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_jButton4ActionPerformed // TODO add your handling code here: System.out.println("Hello, OpenCV"); // Load the native library. System.out.println(System.getProperty("java.library.path")); System.loadLibrary("opencv-300"); VideoCapture camera = new VideoCapture(0); camera.open(0); //Useless if (!camera.isOpened()) { System.out.println("Camera Error"); } else {//from ww w . j a v a2s. c o m System.out.println("Camera OK?"); } Mat frame = new Mat(); //camera.grab(); //System.out.println("Frame Grabbed"); //camera.retrieve(frame); //System.out.println("Frame Decoded"); camera.read(frame); System.out.println("Frame Obtained"); /* No difference camera.release(); */ System.out.println("Captured Frame Width " + frame.width()); Imgcodecs.imwrite("camera.jpg", frame); System.out.println("OK"); }
From source file:io.github.jakejmattson.facialrecognition.FacialRecognition.java
License:Open Source License
private static void capture() { File classifier = new File("lbpcascade_frontalface_improved.xml"); if (!classifier.exists()) { displayFatalError("Unable to find classifier!"); return;// ww w . j av a2s . com } CascadeClassifier faceDetector = new CascadeClassifier(classifier.toString()); VideoCapture camera = new VideoCapture(0); if (!camera.isOpened()) { displayFatalError("No camera detected!"); return; } if (!DATABASE.exists()) DATABASE.mkdir(); ImageFrame frame = new ImageFrame(); while (frame.isOpen() && camera.isOpened()) { Mat rawImage = new Mat(); camera.read(rawImage); Mat newImage = detectFaces(rawImage, faceDetector, frame); frame.showImage(newImage); } camera.release(); }
From source file:readnumber.ReadNumber.java
/** * //from w w w .ja va2 s .c om * @param args runMainLoop - VideoCapture */ private void runMainLoop(String[] args) { imageProcessor = new ImageProcessor(); webcamMatImage = new Mat(); Image tempImage; VideoCapture capture = new VideoCapture(0); capture.set(Videoio.CAP_PROP_FRAME_WIDTH, 320); capture.set(Videoio.CAP_PROP_FRAME_HEIGHT, 240); // Create a face detector from the cascade file faceDetector = new CascadeClassifier(CascadeFile); if (capture.isOpened()) { while (true) { capture.read(webcamMatImage); if (!webcamMatImage.empty()) { // Output video to form (JLabel) //imageLabel.setBounds(0, 61, 320, 240); tempImage = imageProcessor.toBufferedImage(webcamMatImage); ImageIcon imageIcon = new ImageIcon(tempImage, "Captured video"); imageLabel.setIcon(imageIcon); Buttonl.setBounds(10, 0, 140, 30); //Button2.setBounds(140, 0, 120, 30); message.setBounds(10, 30, 200, 30); inform.setBounds(10, 315, 200, 30); caunttext.setBounds(100, 315, 200, 30); textVideo.setBounds(10, 295, 120, 30); //frame.pack(); //this will resize the window to fit the image } else { System.out.println(" -- Frame not captured -- Break!"); break; } } } else { System.out.println("Couldn't open capture."); } }
From source file:servershootingstar.BallDetector.java
public static String getAngleFromRobot(int input) { System.loadLibrary(Core.NATIVE_LIBRARY_NAME); System.out.println("before"); int point;//from ww w .j a v a2s. c o m try { Mat frame = new Mat(); System.out.println("AAAAAA"); Mat originalFrame = new Mat(); System.out.println("BBBBBB"); VideoCapture videoCapture = new VideoCapture(0); System.out.println("CCCCCCCC"); videoCapture.read(originalFrame); // System.out.println("original" + originalFrame.dump()); // initSwing(originalFrame); int workaround = 20; while (workaround > 0) { System.out.println("workaround " + workaround); videoCapture.read(originalFrame); // System.out.println(originalFrame.dump() + originalFrame.dump().length()); workaround--; } // Imgcodecs.imwrite("C:\\Users\\Goran\\Desktop\\Goran.jpg", originalFrame); Mat cropped = originalFrame.submat(originalFrame.rows() / 4, originalFrame.rows() / 4 * 3, 0, originalFrame.cols()); initSwing(cropped); Imgproc.cvtColor(cropped, frame, Imgproc.COLOR_BGR2HSV); // insert lower and upper bounds for colors Scalar greenLowerB = new Scalar(20, 55, 55); Scalar greenUpperB = new Scalar(40, 255, 255); Scalar redLowerB = new Scalar(160, 100, 35); Scalar red1LowerB = new Scalar(0, 100, 35); Scalar redUpperB = new Scalar(180, 255, 255); Scalar red1UpperB = new Scalar(20, 255, 255); Scalar blueLowerB = new Scalar(100, 100, 35); Scalar blueUpperB = new Scalar(120, 255, 155); Mat mask = new Mat(); if (input == 1) { Mat otherMask = new Mat(); Core.inRange(frame, redLowerB, redUpperB, mask); Core.inRange(frame, red1LowerB, red1UpperB, otherMask); Core.bitwise_or(mask, otherMask, mask); } else if (input == 2) { Core.inRange(frame, greenLowerB, greenUpperB, mask); } else { Core.inRange(frame, blueLowerB, blueUpperB, mask); } Imgproc.erode(mask, mask, Imgproc.getStructuringElement(Imgproc.CV_SHAPE_ELLIPSE, new Size(5, 5))); Imgproc.erode(mask, mask, Imgproc.getStructuringElement(Imgproc.CV_SHAPE_ELLIPSE, new Size(5, 5))); Imgproc.erode(mask, mask, Imgproc.getStructuringElement(Imgproc.CV_SHAPE_ELLIPSE, new Size(5, 5))); Imgproc.erode(mask, mask, Imgproc.getStructuringElement(Imgproc.CV_SHAPE_ELLIPSE, new Size(5, 5))); int minX = Integer.MAX_VALUE, maxX = Integer.MIN_VALUE, minY = Integer.MAX_VALUE, maxY = Integer.MIN_VALUE; for (int i = 0; i < mask.rows(); ++i) { for (int j = 0; j < mask.cols(); ++j) { double value = mask.get(i, j)[0]; //System.out.println(value); if (value > 1) { minX = Math.min(minX, i); maxX = Math.max(maxX, i); minY = Math.min(minY, j); maxY = Math.max(maxY, j); } } } Imgproc.circle(mask, new Point((maxY + minY) / 2, (minX + maxX) / 2), 3, new Scalar(0, 0, 0)); initSwing(mask); point = (minY + maxY) / 2; point = point - 320; cos = point / 320.0; System.out.println("OK"); } catch (Exception ex) { point = (new Random()).nextInt(640); cos = -1; System.out.println("error imase, davam random brojka: " + point); ex.printStackTrace(); } // System.out.println(); // System.out.println("tockata u granica od [-320, 320]"); // System.out.println(point); // System.out.println("cosinus vrednost"); // System.out.println(cos); // System.out.println(); System.out.println("cos = " + cos); if (cos == -1) { return "-1"; } int res = (int) (2 * Math.toDegrees(Math.acos(cos)) / 3); System.out.println("Res: " + res); return String.valueOf(res); }