List of usage examples for org.opencv.core Mat get
public int get(int row, int col, double[] data)
From source file:com.trandi.opentld.tld.Util.java
License:Apache License
static int getInt(final int row, final int col, final Mat mat) { if (CvType.CV_32SC1 != mat.type()) throw new IllegalArgumentException( "Expected type is CV_32SC1, we found: " + CvType.typeToString(mat.type())); mat.get(row, col, _intBuff1); return _intBuff1[0]; }
From source file:com.trandi.opentld.tld.Util.java
License:Apache License
static float getFloat(final int row, final int col, final Mat mat) { if (CvType.CV_32F != mat.type()) throw new IllegalArgumentException( "Expected type is CV_32F, we found: " + CvType.typeToString(mat.type())); mat.get(row, col, _floatBuff1); return _floatBuff1[0]; }
From source file:com.trandi.opentld.tld.Util.java
License:Apache License
static double getDouble(final int row, final int col, final Mat mat) { if (CvType.CV_64F != mat.type()) throw new IllegalArgumentException( "Expected type is CV_64F, we found: " + CvType.typeToString(mat.type())); mat.get(row, col, _doubleBuff1); return _doubleBuff1[0]; }
From source file:com.ttolley.pongbot.controller.CvPanel.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 w ww. jav a 2 s .c o m*/ public BufferedImage matToBufferedImage(Mat matrix) { int cols = matrix.cols(); int rows = matrix.rows(); int elemSize = (int) matrix.elemSize(); byte[] data = new byte[cols * rows * elemSize]; int type; matrix.get(0, 0, data); switch (matrix.channels()) { case 1: type = BufferedImage.TYPE_BYTE_GRAY; break; case 3: type = BufferedImage.TYPE_3BYTE_BGR; // bgr to rgb byte b; for (int i = 0; i < data.length; i = i + 3) { b = data[i]; data[i] = data[i + 2]; data[i + 2] = b; } break; default: return null; } BufferedImage image2 = new BufferedImage(cols, rows, type); image2.getRaster().setDataElements(0, 0, cols, rows, data); return image2; }
From source file:com.untref.gui.Editar.java
public static BufferedImage matToBufferedImage(Mat matrix) { BufferedImage bimg = new BufferedImage(1, 1, 1); if (matrix != null) { int cols = matrix.cols(); int rows = matrix.rows(); int elemSize = (int) matrix.elemSize(); byte[] data = new byte[cols * rows * elemSize]; int type; matrix.get(0, 0, data); switch (matrix.channels()) { case 1:/*from ww w. j ava2 s . c om*/ type = BufferedImage.TYPE_BYTE_GRAY; break; case 3: type = BufferedImage.TYPE_3BYTE_BGR; // bgr to rgb byte b; for (int i = 0; i < data.length; i = i + 3) { b = data[i]; data[i] = data[i + 2]; data[i + 2] = b; } break; default: return null; } // Reuse existing BufferedImage if possible if (bimg == null || bimg.getWidth() != cols || bimg.getHeight() != rows || bimg.getType() != type) { bimg = new BufferedImage(cols, rows, type); } bimg.getRaster().setDataElements(0, 0, cols, rows, data); } else { // mat was null bimg = null; } return bimg; }
From source file:cv.FaceDetector.java
License:Open Source License
private BufferedImage matToBufferedImage(Mat matImage) { BufferedImage image = new BufferedImage(matImage.width(), matImage.height(), BufferedImage.TYPE_3BYTE_BGR); WritableRaster raster = image.getRaster(); DataBufferByte dataBuffer = (DataBufferByte) raster.getDataBuffer(); byte[] data = dataBuffer.getData(); matImage.get(0, 0, data); return image; }
From source file:cv.recon.util.MatFXUtils.java
License:Open Source License
/** * Convert from OpenCV Mat to JavaFX WritableImage to be displayed in * ImageView./*from www. j av a 2s . c o m*/ * @param mat Mat to be converted * @param writableImage Optional WritableImage, if non-null, the Mat will be * written in this WritableImage * @return A WritableImage to be used for JavaFX, return null if already * supplied with WritableImage */ public static WritableImage toFXImage(Mat mat, WritableImage writableImage) { int width = mat.width(); int height = mat.height(); int channels = mat.channels(); byte[] sourcePixels = new byte[width * height * channels]; mat.get(0, 0, sourcePixels); BufferedImage bufferedImage; if (mat.channels() > 1) { bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR); } else { bufferedImage = new BufferedImage(width, height, BufferedImage.TYPE_BYTE_GRAY); } final byte[] targetPixels = ((DataBufferByte) bufferedImage.getRaster().getDataBuffer()).getData(); System.arraycopy(sourcePixels, 0, targetPixels, 0, sourcePixels.length); if (writableImage == null) { WritableImage outputImage = SwingFXUtils.toFXImage(bufferedImage, null); return outputImage; } else { SwingFXUtils.toFXImage(bufferedImage, writableImage); return null; } }
From source file:depthDataFromStereoCamsOpenCV.ProcessImages.java
/** * Mat2BufferedImage//from w w w. j a va 2 s . c o m * @param Mat m * @return BufferedImage */ public static BufferedImage Mat2BufferedImage(Mat m) { // source: http://answers.opencv.org/question/10344/opencv-java-load-image-to-gui/ // Fastest code // The output can be assigned either to a BufferedImage or to an Image 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:detectiontest.ImageDisplayer.java
public static BufferedImage toBufferedImage(Mat m) { int type = BufferedImage.TYPE_BYTE_GRAY; if (m.channels() > 1) { type = BufferedImage.TYPE_3BYTE_BGR; }/* w w w . j a v a2 s . 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:dfmDrone.examples.fitEllipseExample.java
public static Image 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; }