List of usage examples for org.opencv.core Mat elemSize
public long elemSize()
From source file:com.minio.io.alice.MatVideoWriter.java
License:Open Source License
private byte[] captureRawBytes(Mat mat) { int length = (int) (mat.total() * mat.elemSize()); matByteArray = new byte[length]; mat.get(0, 0, matByteArray);/*from ww w.j a v a 2 s. co m*/ return matByteArray; }
From source file:com.orange.documentare.core.image.opencv.OpenCvImage.java
License:Open Source License
private static long matBytesCount(Mat mat) { long pixelBytesCount = mat.elemSize(); return pixelBytesCount * mat.total(); }
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 */// w ww.ja va2 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);//from w ww . j ava2 s .c o m 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; } // 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:digitalassistant.Panel.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 w w . j a va 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 image = new BufferedImage(cols, rows, type); image.getRaster().setDataElements(0, 0, cols, rows, data); return image; }
From source file:digitalassistant.Panel.java
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;// w w w . ja v a 2 s . c om 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 image = new BufferedImage(cols, rows, type); image.getRaster().setDataElements(0, 0, cols, rows, data); return image; }
From source file:fr.olympicinsa.riocognized.facedetector.tools.ImageConvertor.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 . ja v a 2 s .c o m public static BufferedImage matToBufferedImage(Mat matrix) { log.debug("****** MatToBuffered Image **********"); log.debug("input : " + matrix.toString()); 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 image = new BufferedImage(cols, rows, type); image.getRaster().setDataElements(0, 0, cols, rows, data); log.debug("type: " + type); log.debug("output:" + image.toString()); log.debug("***********************************"); return image; }
From source file:houghtransform.Capture.java
private static BufferedImage convertMatToBufferedImage(Mat mat) { byte[] data = new byte[mat.width() * mat.height() * (int) mat.elemSize()]; int type;/*w w w . j a va 2 s . c om*/ mat.get(0, 0, data); switch (mat.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: throw new IllegalStateException("Unsupported number of channels"); } BufferedImage out = new BufferedImage(mat.width(), mat.height(), type); out.getRaster().setDataElements(0, 0, mat.width(), mat.height(), data); return out; }
From source file:interactivespaces.service.image.vision.opencv.MatUtils.java
License:Apache License
/** * Converts a {@link Mat} into a {@link BufferedImage}. * * @param matrix/*from w w w . j a v a 2 s . c o m*/ * Mat of type CV_8UC3 or CV_8UC1 * * @return BufferedImage of type TYPE_3BYTE_BGR or TYPE_BYTE_GRAY * * @throws SimpleInteractiveSpacesException * the OpenCV Mat type is not supported */ public static BufferedImage matToBufferedImage(Mat matrix) throws SimpleInteractiveSpacesException { 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; for (int i = 0; i < data.length; i = i + 3) { byte b = data[i]; data[i] = data[i + 2]; data[i + 2] = b; } break; default: throw new SimpleInteractiveSpacesException("The OpenCV Mat type is not supported"); } BufferedImage image = new BufferedImage(cols, rows, type); image.getRaster().setDataElements(0, 0, cols, rows, data); return image; }
From source file:io.github.jakejmattson.facialrecognition.ImageFrame.java
License:Open Source License
/** * Convert an OpenCV Mat to a Java BufferedImage. * * @param matrix/*from www .jav a 2 s. c o m*/ * OpenCV Mat * * @return BufferedImage */ private static BufferedImage convertMatToImage(Mat matrix) { int width = matrix.width(); int height = matrix.height(); int type = matrix.channels() != 1 ? BufferedImage.TYPE_3BYTE_BGR : BufferedImage.TYPE_BYTE_GRAY; if (type == BufferedImage.TYPE_3BYTE_BGR) Imgproc.cvtColor(matrix, matrix, Imgproc.COLOR_BGR2RGB); byte[] data = new byte[width * height * (int) matrix.elemSize()]; matrix.get(0, 0, data); BufferedImage out = new BufferedImage(width, height, type); out.getRaster().setDataElements(0, 0, width, height, data); return out; }