Example usage for org.opencv.core Mat get

List of usage examples for org.opencv.core Mat get

Introduction

In this page you can find the example usage for org.opencv.core Mat get.

Prototype

public int get(int row, int col, double[] data) 

Source Link

Usage

From source file:OCV_EqualizeHist.java

License:Open Source License

@Override
public void run(ImageProcessor ip) {
    // srcdst//from  w w  w .  java 2 s.  c  o  m
    int imw = ip.getWidth();
    int imh = ip.getHeight();
    byte[] srcdst_bytes = (byte[]) ip.getPixels();

    // mat
    Mat src_mat = new Mat(imh, imw, CvType.CV_8UC1);
    Mat dst_mat = new Mat(imh, imw, CvType.CV_8UC1);

    // run
    src_mat.put(0, 0, srcdst_bytes);
    Imgproc.equalizeHist(src_mat, dst_mat);
    dst_mat.get(0, 0, srcdst_bytes);
}

From source file:OCV_HoughLinesP.java

License:Open Source License

private void showData(Mat lines) {
    // prepare the ResultsTable
    ResultsTable rt = OCV__LoadLibrary.GetResultsTable(true);

    // prepare the ROI Manager
    RoiManager roiMan = null;//www .j  a  v a2  s  . co m

    if (enAddRoi) {
        roiMan = OCV__LoadLibrary.GetRoiManager(true, true);
    }

    // show
    int num_lines = lines.rows();
    int[] line = new int[4];

    for (int i = 0; i < num_lines; i++) {
        lines.get(i, 0, line);

        int x1 = line[0];
        int y1 = line[1];
        int x2 = line[2];
        int y2 = line[3];

        rt.incrementCounter();
        rt.addValue("x1", x1);
        rt.addValue("y1", y1);
        rt.addValue("x2", x2);
        rt.addValue("y2", y2);

        if (enAddRoi && (roiMan != null)) {
            Line roi = new Line(x1, y1, x2, y2);
            roiMan.addRoi(roi);
        }
    }

    rt.show("Results");
}

From source file:OCV_MedianBlur.java

License:Open Source License

@Override
public void run(ImageProcessor ip) {
    // srcdst//from  w ww.  j ava2  s .c om
    int imw = ip.getWidth();
    int imh = ip.getHeight();
    byte[] srcdst_bytes = (byte[]) ip.getPixels();

    // mat
    Mat src_mat = new Mat(imh, imw, CvType.CV_8UC1);
    Mat dst_mat = new Mat(imh, imw, CvType.CV_8UC1);

    // run
    src_mat.put(0, 0, srcdst_bytes);
    Imgproc.medianBlur(src_mat, dst_mat, ksize);
    dst_mat.get(0, 0, srcdst_bytes);
}

From source file:airhockeyjava.detection.PS3EyeFrameGrabber.java

License:Open Source License

/**
 * Convert matrix into an image//from  www  . j a  va  2 s.c  o m
 * 
 * @param m
 *            matrix to be converted
 * @return Converted BufferedImage
 */
private static BufferedImage toBufferedImage(Mat m) {
    int type = BufferedImage.TYPE_BYTE_GRAY;
    if (m.channels() > 1) {
        type = BufferedImage.TYPE_3BYTE_BGR;
        // System.out.println("3 Channel BufferedImage");
    }
    int bufferSize = m.channels() * m.cols() * m.rows();
    byte[] b = new byte[bufferSize];
    m.get(0, 0, b); // get all the pixels
    BufferedImage image = new BufferedImage(m.cols(), m.rows(), type);
    final byte[] targetPixels = ((DataBufferByte) image.getRaster().getDataBuffer()).getData();
    System.arraycopy(b, 0, targetPixels, 0, b.length);
    return image;
}

From source file:arlocros.Imshow.java

License:Apache License

/**
 * @param opencvImage//from  w w w .j  av a 2 s.  c o  m
 */
public static void show(Mat opencvImage) {

    Dimension frameSize = new Dimension(opencvImage.rows(), opencvImage.cols());
    if (frame == null) {
        frame = new Imshow("", frameSize.height, frameSize.width);
        frame.Window.setVisible(true);

        frame.Window.setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        if (frame.SizeCustom) {
            Imgproc.resize(opencvImage, opencvImage, new Size(frame.Height, frame.Width));
        }
    }
    BufferedImage bufImage = null;
    try {

        int type = BufferedImage.TYPE_BYTE_GRAY;
        if (opencvImage.channels() > 1) {
            type = BufferedImage.TYPE_3BYTE_BGR;
        }
        int bufferSize = opencvImage.channels() * opencvImage.cols() * opencvImage.rows();
        byte[] b = new byte[bufferSize];
        opencvImage.get(0, 0, b);
        BufferedImage bufferedImage = new BufferedImage(opencvImage.cols(), opencvImage.rows(), type);
        final byte[] targetPixels = ((DataBufferByte) bufferedImage.getRaster().getDataBuffer()).getData();
        System.arraycopy(b, 0, targetPixels, 0, b.length);
        bufImage = bufferedImage;
        frame.image.setImage(bufImage);
        frame.Window.pack();
        frame.label.updateUI();
        //frame.Window.setVisible(true);
    } catch (RuntimeException e) {
        logger.info("Exception while visualizing.", e);
    }
}

From source file:attendance_system_adder.cv.image.java

public BufferedImage Mat2BufferedImage(Mat m) {
    int type = BufferedImage.TYPE_BYTE_GRAY;
    if (m.channels() > 1) {
        type = BufferedImage.TYPE_3BYTE_BGR;
    }//  ww w.j  a v  a  2s. c  om
    int bufferSize = m.channels() * m.cols() * m.rows();
    byte[] b = new byte[bufferSize];
    m.get(0, 0, b); // get all the pixels
    BufferedImage image = new BufferedImage(m.cols(), m.rows(), type);
    final byte[] targetPixels = ((DataBufferByte) image.getRaster().getDataBuffer()).getData();
    System.arraycopy(b, 0, targetPixels, 0, b.length);
    return image;

}

From source file:balldetection.Webcam.java

public static Image toBufferedImage(Mat m) {
    int type = BufferedImage.TYPE_BYTE_GRAY;
    if (m.channels() > 1) {
        Mat m2 = new Mat();
        Imgproc.cvtColor(m, m2, Imgproc.COLOR_BGR2RGB);
        type = BufferedImage.TYPE_3BYTE_BGR;
        m = m2;/*from ww  w. j a  va  2  s .c o m*/
    }
    byte[] b = new byte[m.channels() * m.cols() * m.rows()];
    m.get(0, 0, b); // get all the pixels
    BufferedImage image = new BufferedImage(m.cols(), m.rows(), type);
    image.getRaster().setDataElements(0, 0, m.cols(), m.rows(), b);
    return image;
}

From source file:bgslibrary.Utils.java

License:Open Source License

static final public BufferedImage toBufferedImage(Mat m) {
    int type = BufferedImage.TYPE_BYTE_GRAY;
    if (m.channels() > 1)
        type = BufferedImage.TYPE_3BYTE_BGR;
    int bufferSize = m.channels() * m.cols() * m.rows();
    byte[] b = new byte[bufferSize];
    m.get(0, 0, b); // get all the pixels
    BufferedImage image = new BufferedImage(m.cols(), m.rows(), type);
    final byte[] targetPixels = ((DataBufferByte) image.getRaster().getDataBuffer()).getData();
    System.arraycopy(b, 0, targetPixels, 0, b.length);
    return image;
}

From source file:bollettini.BullettinCompiler.java

public void show() {
    //resize to show
    Size size = new Size(1100, 335);
    Mat resize = new Mat();
    Imgproc.resize(bullettin, resize, size);

    //create image
    int type = BufferedImage.TYPE_BYTE_GRAY;
    int bufferSize = resize.channels() * resize.cols() * resize.rows();
    byte[] b = new byte[bufferSize];
    resize.get(0, 0, b); // get all the pixels
    BufferedImage image = new BufferedImage(resize.cols(), resize.rows(), type);
    final byte[] targetPixels = ((DataBufferByte) image.getRaster().getDataBuffer()).getData();
    System.arraycopy(b, 0, targetPixels, 0, b.length);

    ImageIcon icon = new ImageIcon(image);

    //create image and show
    View view = new View();
    view.init(this);
    view.setIcon(icon);/* www .  jav a 2 s .c om*/
    view.setVisible(true);
    view.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
}

From source file:by.zuyeu.deyestracker.core.detection.DemoPanel.java

/**
 * Converts/writes a Mat into a BufferedImage.
 *
 * @param matrix Mat of type CV_8UC3 or CV_8UC1
 * @return BufferedImage of type TYPE_3BYTE_BGR or TYPE_BYTE_GRAY
 *///from  ww w .  j ava  2  s .co  m
public boolean convertMatToBufferedImage(Mat matBGR) {

    int width = matBGR.width(), height = matBGR.height(), channels = matBGR.channels();
    byte[] sourcePixels = new byte[width * height * channels];
    matBGR.get(0, 0, sourcePixels);
    // create new image and get reference to backing data
    image = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);
    final byte[] targetPixels = ((DataBufferByte) image.getRaster().getDataBuffer()).getData();
    System.arraycopy(sourcePixels, 0, targetPixels, 0, sourcePixels.length);

    return true;
}