List of usage examples for org.opencv.core Mat cols
public int cols()
From source file:com.davidmiguel.gobees.monitoring.algorithm.processors.ContoursFinder.java
License:Open Source License
@Override public Mat process(@NonNull Mat frame) { if (frame.empty()) { Log.e("Invalid input frame."); return null; }//from w w w . j a v a2s . c o m Mat tmp = frame.clone(); // Finding outer contours contourList.clear(); Imgproc.findContours(tmp, contourList, hierarchy, Imgproc.RETR_EXTERNAL, Imgproc.CHAIN_APPROX_SIMPLE); // Filter bees Mat contours = new Mat(tmp.rows(), tmp.cols(), CvType.CV_8UC3); tmp.release(); double area; Scalar color; numBees = 0; for (int i = 0; i < contourList.size(); i++) { area = Imgproc.contourArea(contourList.get(i)); if (area > minArea && area < maxArea) { color = GREEN; numBees++; } else { color = RED; } // Draw contour Imgproc.drawContours(contours, contourList, i, color, -1); } return contours; }
From source file:com.example.afs.makingmusic.process.ImageGenerator.java
License:Open Source License
private BufferedImage toBufferedImage(Mat matrix) { int width = matrix.cols(); int height = matrix.rows(); int channels = matrix.channels(); int bitmapSize = height * width * channels; byte[] bitmap = new byte[bitmapSize]; matrix.get(0, 0, bitmap);//from w ww.j av a2s . c o m BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR); WritableRaster raster = image.getRaster(); DataBufferByte dataBuffer = (DataBufferByte) raster.getDataBuffer(); System.arraycopy(bitmap, 0, dataBuffer.getData(), 0, bitmap.length); return image; }
From source file:com.example.yannic.remotefacedetection.agent.FaceDetectionAgent.java
License:Open Source License
public static BufferedImage matToBufferedImage(Mat matrix, BufferedImage bimg) { 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. jav a2s. co 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; } 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 { bimg = null; } return bimg; }
From source file:com.github.mbillingr.correlationcheck.ImageProcessor.java
License:Open Source License
Bitmap matToBitmap(Mat input) { if (input == null) { return Bitmap.createBitmap(0, 0, Bitmap.Config.ARGB_8888); }/* ww w . ja v a2 s.c o m*/ Mat tmp = new Mat(); if (input.channels() == 1) { Imgproc.cvtColor(input, tmp, Imgproc.COLOR_GRAY2RGB); } else { Imgproc.cvtColor(input, tmp, Imgproc.COLOR_BGR2RGB); } Core.transpose(tmp, tmp); Core.flip(tmp, tmp, 1); Bitmap bm = Bitmap.createBitmap(tmp.cols(), tmp.rows(), Bitmap.Config.ARGB_8888); Utils.matToBitmap(tmp, bm); return bm; }
From source file:com.github.rosjava_catkin_package_a.ARLocROS.Imshow.java
License:Apache License
/** * @param opencvImage/* w ww .j a v a2 s.co 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 (Exception e) { e.printStackTrace(); } }
From source file:com.jeremydyer.nifi.ZoomImageProcessor.java
License:Apache License
@Override public void onTrigger(final ProcessContext context, final ProcessSession session) throws ProcessException { final FlowFile original = session.get(); if (original == null) { return;/* w ww. jav a 2s .co m*/ } session.transfer(session.clone(original), REL_ORIGINAL); FlowFile ff = session.write(original, new StreamCallback() { @Override public void process(InputStream inputStream, OutputStream outputStream) throws IOException { try { int zoomingFactor = context.getProperty(ZOOMING_FACTOR).asInteger(); BufferedImage image = ImageIO.read(inputStream); byte[] pixels = ((DataBufferByte) image.getRaster().getDataBuffer()).getData(); Mat source = new Mat(image.getHeight(), image.getWidth(), Imgcodecs.CV_LOAD_IMAGE_GRAYSCALE); source.put(0, 0, pixels); Mat destination = new Mat(source.rows() * zoomingFactor, source.cols() * zoomingFactor, source.type()); Imgproc.resize(source, destination, destination.size(), zoomingFactor, zoomingFactor, Imgproc.INTER_NEAREST); MatOfByte bytemat = new MatOfByte(); Imgcodecs.imencode(".png", destination, bytemat); pixels = bytemat.toArray(); outputStream.write(pixels); } catch (Exception ex) { getLogger().error(ex.getMessage()); ex.printStackTrace(); } } }); session.transfer(ff, REL_SUCCESS); }
From source file:com.jiminger.image.mjpeg.MJPEGWriter.java
License:Open Source License
static public boolean appendFile(final String filename) { if (height == -1) { final Mat origImage = Imgcodecs.imread(filename); width = origImage.cols(); height = origImage.rows();/*w w w . j a va 2 s.c o m*/ } return doappendFile(filename, width, height); }
From source file:com.joravasal.keyface.EigenFacesActivity.java
License:Open Source License
/** * Converts a matrix with any values into a matrix with correct values (between 0 and 255, both included) to be shown as an image. * @param mat: The matrix to convert/* ww w. j a va 2 s. c om*/ * @return A matrix that can be used as an image */ private Mat toGrayscale(Mat mat) { Mat res = new Mat(mat.rows(), mat.cols(), CvType.CV_8UC1); double min, max; MinMaxLocResult minmax = Core.minMaxLoc(mat); min = minmax.minVal; max = minmax.maxVal; for (int row = 0; row < mat.rows(); row++) { for (int col = 0; col < mat.cols(); col++) { res.put(row, col, 255 * ((mat.get(row, col)[0] - min) / (max - min))); } } return res; }
From source file:com.Linguist.model.AdaptiveThresholdClass.java
@Override public File imagePreprocessing(String imageFile, String extnsn) { // System.loadLibrary(Core.NATIVE_LIBRARY_NAME); Mat graySource = imread("C:\\Users\\User\\Documents\\GitHub\\Linguist\\web\\uploadedImage\\" + imageFile, IMREAD_GRAYSCALE);/* ww w . j av a2s . c om*/ Mat destintn = new Mat(graySource.rows(), graySource.cols(), graySource.type()); adaptiveThreshold(graySource, destintn, 255, ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, 15, 40); Imgcodecs.imwrite("C:\\Users\\User\\Documents\\GitHub\\Linguist\\web\\uploadedImage\\adaptive.jpg", destintn); File outputImage = new File( "C:\\Users\\User\\Documents\\GitHub\\Linguist\\web\\uploadedImage\\adaptive.jpg"); return outputImage; }
From source file:com.Linguist.model.grayscaleClass.java
@Override public File imagePreprocessing(String image, String extnsn) { BufferedImage bImge = null;//w w w . j a v a 2 s. co m BufferedImage bImage2 = null; File grayscle = null; try { // loadOpenCV_Lib(); //String path = "opencv\\build\\java\\x64\\opencv_java300.dll"; FileInputStream fileName = new FileInputStream( "C:\\Users\\User\\Documents\\GitHub\\Linguist\\web\\uploadedImage\\" + image); InputStream input = fileName; bImge = ImageIO.read(input); byte[] imgeByte = ((DataBufferByte) bImge.getRaster().getDataBuffer()).getData(); Mat mat1 = new Mat(bImge.getHeight(), bImge.getWidth(), CvType.CV_8UC3); mat1.put(0, 0, imgeByte); Mat mat2 = new Mat(bImge.getHeight(), bImge.getWidth(), CvType.CV_8UC1); Imgproc.cvtColor(mat1, mat2, Imgproc.COLOR_RGB2GRAY); byte[] imageData = new byte[mat2.rows() * mat2.cols() * (int) (mat2.elemSize())]; mat2.get(0, 0, imageData); bImage2 = new BufferedImage(mat2.cols(), mat2.rows(), BufferedImage.TYPE_BYTE_GRAY); bImage2.getRaster().setDataElements(0, 0, mat2.cols(), mat2.rows(), imageData); String extn = null; switch (extnsn) { case ".jpg": extn = "jpg"; break; case ".png": extn = "png"; break; case ".pdf": extn = "pdf"; break; case ".tiff": extn = "tif"; break; } //writing the grayscale image to the folder grayscle = new File( "C:\\Users\\User\\Documents\\GitHub\\Linguist\\web\\uploadedImage\\grayscale" + "." + extn); ImageIO.write(bImage2, "jpg", grayscle); } catch (IOException ex) { System.out.println("" + ex.getMessage()); } catch (Exception ex) { Logger.getLogger(grayscaleClass.class.getName()).log(Level.SEVERE, null, ex); } return grayscle; }