Example usage for org.opencv.core MatOfByte toArray

List of usage examples for org.opencv.core MatOfByte toArray

Introduction

In this page you can find the example usage for org.opencv.core MatOfByte toArray.

Prototype

public byte[] toArray() 

Source Link

Usage

From source file:ImageReade.java

/**
 * Shows given image in a window. Analogous to cv::imshow() of C++ API.
 *
 * @param title/*from w w w . ja  va  2  s.  c  om*/
 * @param img
 */
public static void imshow(String title, Mat img) {

    // Convert image Mat to a jpeg
    MatOfByte imageBytes = new MatOfByte();
    Highgui.imencode(".jpg", img, imageBytes);

    try {
        // Put the jpeg bytes into a JFrame window and show.
        JFrame frame = new JFrame(title);
        frame.getContentPane()
                .add(new JLabel(new ImageIcon(ImageIO.read(new ByteArrayInputStream(imageBytes.toArray())))));
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:frmMain.java

public static void showResult(Mat img) {
    Imgproc.resize(img, img, new Size(640, 480));
    MatOfByte matOfByte = new MatOfByte();
    Highgui.imencode(".jpg", img, matOfByte);
    byte[] byteArray = matOfByte.toArray();
    BufferedImage bufImage = null;
    try {/*from  w ww.j  ava 2s.c  om*/
        InputStream in = new ByteArrayInputStream(byteArray);
        bufImage = ImageIO.read(in);
        JFrame frame = new JFrame();
        frame.getContentPane().add(new JLabel(new ImageIcon(bufImage)));
        frame.pack();
        frame.setVisible(true);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:M.java

/**
 * Call the real-time camera and resize the image to the size of
 * WIDTH*HEIGHT. The resized image is stored in the folder "img_resized".
 *
 * @throws Exception//from w  w w  .ja v a  2  s .co m
 */
public static String realtimeCamera() throws Exception {
    System.out.println("Camera is called!");
    String destPath = "";
    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
    //or ...     System.loadLibrary("opencv_java244");       
    //make the JFrame
    JFrame frame = new JFrame("WebCam Capture - Face detection");
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

    FaceDetector fd = new FaceDetector();
    FacePanel facePanel = new FacePanel();

    frame.setSize(400, 400);
    frame.setBackground(Color.BLUE);
    frame.add(facePanel, BorderLayout.CENTER);
    //        
    frame.setVisible(true);
    facePanel.setVisible(true);
    facePanel.validate();

    //        Thread t = new Thread();
    //Open and Read from the video stream  
    Mat webcam_image = new Mat();
    VideoCapture webCam = new VideoCapture(0);
    if (webCam.isOpened()) {
        //            Thread.sleep(500); /// This one-time delay allows the Webcam to initialize itself  
        while (M.flag) {
            webCam.read(webcam_image);
            if (!webcam_image.empty()) {
                //                    Thread.sleep(200); /// This delay eases the computational load .. with little performance leakage
                System.out.println("CAMERA: " + Thread.currentThread());
                frame.setSize(webcam_image.width() + 40, webcam_image.height() + 60);
                //Apply the classifier to the captured image  
                Mat temp = webcam_image;
                temp = fd.detect(webcam_image);
                //Display the image --------BUG
                facePanel.matToBufferedImage(temp);
                System.out.println("Image buffered!");
                facePanel.repaint();
                System.out.println("Panel repainted!");
                System.out.println(facePanel.isVisible());
                //                    System.out.println("visibility:"+facePanel.isVisible());//true
                //                    System.out.println("enabled?"+facePanel.isEnabled());//true
                //                    System.out.println("validity?"+facePanel.isValid());//true
                MatOfByte mb = new MatOfByte();
                Highgui.imencode(".jpg", webcam_image, mb);
                BufferedImage image = ImageIO.read(new ByteArrayInputStream(mb.toArray()));
                destPath = "build\\classes\\cam_img\\capture.jpg";
                File file = new File(destPath);
                ImageIO.write(image, "JPEG", file);

            } else {
                System.out.println(" --(!) No captured frame from webcam !");
                break;
            }
        }
    }
    webCam.release(); //release the webcam
    String imgPath = resize(destPath);
    flag = true;
    frame.dispose();
    return imgPath;
}

From source file:bikecalibration.Utils.java

/**
 * Convert OpenCV Mat to JavaFX Image (using bmp)
 *
 * @param img/*from   ww w.  j  a v  a 2s  .  c  o m*/
 * @return
 */
public static Image matToImage(Mat img) {
    MatOfByte byteMat = new MatOfByte();
    Imgcodecs.imencode("*.bmp", img, byteMat);
    return new Image(new ByteArrayInputStream(byteMat.toArray()));
}

From source file:br.com.prj.TelaPrincipal.java

/**
 * Converte um Mat em Image//from  w ww  .j a v a  2s.c  o m
 *
 * @param m
 * @return new Image()
 */
public Image convertMatToImage(Mat m) {
    MatOfByte bytemat = new MatOfByte();
    Imgcodecs.imencode(".jpg", m, bytemat);
    byte[] bytes = bytemat.toArray();
    InputStream in = new ByteArrayInputStream(bytes);
    try {
        return ImageIO.read(in);
    } catch (IOException ex) {
        Logger.getLogger(TelaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
        return null;
    }
}

From source file:carmelo.CameraTask.java

private Image createImageFromMat(Mat src) {
    MatOfByte dst = new MatOfByte();
    Imgcodecs.imencode(".bmp", src, dst);
    return new Image(new ByteArrayInputStream(dst.toArray()));
}

From source file:cctvanalization.FXMLDocumentController.java

private Image grabFrame() {
    if (applicationShouldClose) {
        if (videoCapture.isOpened()) {
            videoCapture.release();//from   w  ww.  ja v a2 s . c  o  m
        }
        scheduledExecutorService.shutdown();
    }

    Image imageToShow = null;
    Mat frame = new Mat();
    //     Mat prevFrame = new Mat(grabbedImagesPrev.get(grabbedImagesPrev.size() - 1));
    int frameNum = 0;
    if (videoCapture.isOpened()) {
        try {
            videoCapture.read(frame);

            if (!frame.empty()) {
                Imgproc.cvtColor(frame, frame, Imgproc.COLOR_BGR2GRAY);

                MatOfByte buffer = new MatOfByte();
                Imgcodecs.imencode(".png", frame, buffer);
                imageToShow = new Image(new ByteArrayInputStream(buffer.toArray()));

                grabbedFramesTemp.removeAll(grabbedFramesTemp);
                if (grabbedFramesPrev.size() < 10) {
                    grabbedFramesPrev.add(frame);
                } else {
                    for (int i = 1; i < grabbedFramesPrev.size(); i++) {
                        grabbedFramesTemp.add(grabbedFramesPrev.get(i));
                    }
                    grabbedFramesPrev.removeAll(grabbedFramesPrev);
                    for (int i = 0; i < grabbedFramesTemp.size(); i++) {
                        grabbedFramesPrev.add(grabbedFramesTemp.get(i));
                    }
                    grabbedFramesPrev.add(frame);
                }
            }

        } catch (Exception e) {
            System.err.println(e);
        }
    }

    return imageToShow;
}

From source file:Clases.Segmentador.java

public Image convertir(Mat imagen) {
    MatOfByte matOfByte = new MatOfByte();
    Highgui.imencode(".jpg", imagen, matOfByte);

    byte[] byteArray = matOfByte.toArray();
    BufferedImage bufImage = null;

    try {// w w  w  . j  a v  a 2 s .c o  m

        InputStream in = new ByteArrayInputStream(byteArray);
        bufImage = ImageIO.read(in);
    } catch (Exception e) {
        e.printStackTrace();
    }
    return (Image) bufImage;
}

From source file:classes.ObjectFinder.java

public static void imshow(Mat img, String title) {
    MatOfByte matOfByte = new MatOfByte();
    Highgui.imencode(".jpg", img, matOfByte);
    byte[] byteArray = matOfByte.toArray();
    BufferedImage bufImage = null;
    try {//from w  w w. j a  v  a2s  . c om
        InputStream in = new ByteArrayInputStream(byteArray);
        bufImage = ImageIO.read(in);
        JFrame frame = new JFrame(title);
        frame.getContentPane().add(new JLabel(new ImageIcon(bufImage)));
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.pack();
        frame.setVisible(true);
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:com.armeniopinto.stress.control.vision.VisionAgent.java

public byte[] getCapturedFrame() {
    final MatOfByte frameBytes = new MatOfByte();
    synchronized (capturedFrame) {
        Imgcodecs.imencode(".jpg", capturedFrame, frameBytes);
    }// w  w  w .ja va 2  s .  co  m
    final byte[] bytes = frameBytes.toArray();
    frameBytes.release();

    return bytes;
}