Example usage for org.opencv.imgproc Imgproc GaussianBlur

List of usage examples for org.opencv.imgproc Imgproc GaussianBlur

Introduction

In this page you can find the example usage for org.opencv.imgproc Imgproc GaussianBlur.

Prototype

public static void GaussianBlur(Mat src, Mat dst, Size ksize, double sigmaX, double sigmaY, int borderType) 

Source Link

Usage

From source file:OCV_GaussianBlur.java

License:Open Source License

@Override
public void run(ImageProcessor ip) {
    if (ip.getBitDepth() == 8) {
        // srcdst
        int imw = ip.getWidth();
        int imh = ip.getHeight();
        byte[] srcdst_bytes = (byte[]) ip.getPixels();

        // mat//from  w w w  . jav  a 2s . c  o  m
        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.GaussianBlur(src_mat, dst_mat, ksize, sigma_x, sigma_y, INT_BORDERTYPE[indBorderType]);
        dst_mat.get(0, 0, srcdst_bytes);
    } else if (ip.getBitDepth() == 16) {
        // srcdst
        int imw = ip.getWidth();
        int imh = ip.getHeight();
        short[] srcdst_shorts = (short[]) ip.getPixels();

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

        // run
        src_mat.put(0, 0, srcdst_shorts);
        Imgproc.GaussianBlur(src_mat, dst_mat, ksize, sigma_x, sigma_y, INT_BORDERTYPE[indBorderType]);
        dst_mat.get(0, 0, srcdst_shorts);
    } else if (ip.getBitDepth() == 32) {
        // srcdst
        int imw = ip.getWidth();
        int imh = ip.getHeight();
        float[] srcdst_floats = (float[]) ip.getPixels();

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

        // run
        src_mat.put(0, 0, srcdst_floats);
        Imgproc.GaussianBlur(src_mat, dst_mat, ksize, sigma_x, sigma_y, INT_BORDERTYPE[indBorderType]);
        dst_mat.get(0, 0, srcdst_floats);
    } else {
        IJ.error("Wrong image format");
    }
}

From source file:javaapplication1.Ocv.java

void doSobel(String input, String output) {
    // load the image and read it into a matrix
    File f2 = new File(input);
    Mat image = Highgui.imread(this.input);

    // blur the image
    Imgproc.GaussianBlur(image, image, new Size(3, 3), 0, 0, Imgproc.BORDER_DEFAULT);

    // convert the image to gray
    Mat gray = new Mat();
    Imgproc.cvtColor(image, gray, Imgproc.COLOR_BGR2GRAY);

    // parameters for our conversion
    int scale = 1;
    int delta = 0;
    int ddepth = CvType.CV_16S;

    // figure out the X gradient, get its absolute value
    Mat gx = new Mat();
    Imgproc.Sobel(gray, gx, ddepth, 1, 0, 3, scale, delta, Imgproc.BORDER_DEFAULT);
    Mat abs_gx = new Mat();
    Core.convertScaleAbs(gx, abs_gx);//from w w  w. j  a  v a2  s .c  om

    // do the same for Y
    Mat gy = new Mat();
    Imgproc.Sobel(gray, gy, ddepth, 0, 1, 3, scale, delta, Imgproc.BORDER_DEFAULT);
    Mat abs_gy = new Mat();
    Core.convertScaleAbs(gy, abs_gy);

    // do a simple combine, and save it
    Mat grad = new Mat();
    Core.addWeighted(abs_gx, 0.5, abs_gy, 0.5, 0, grad);
    Highgui.imwrite(this.output, grad);
}

From source file:pfe.Segmentation.java

@Override
public void applySobelFactor(JLabel jLabelSobelFactor) {
    // init/*from  ww  w .j ava 2  s. c o m*/
    Mat frame = Imgcodecs.imread(smoothed);
    Mat grayImage = new Mat();
    Mat detectedEdges = new Mat();

    int ddepth = CvType.CV_16S;
    Mat grad_x = new Mat();
    Mat grad_y = new Mat();
    Mat abs_grad_x = new Mat();
    Mat abs_grad_y = new Mat();

    // reduce noise with a 3x3 kernel
    Imgproc.GaussianBlur(frame, frame, new Size(3, 3), 0, 0, Core.BORDER_DEFAULT);

    // convert to grayscale
    Imgproc.cvtColor(frame, grayImage, Imgproc.COLOR_BGR2GRAY);

    // Gradient X
    Imgproc.Sobel(grayImage, grad_x, ddepth, 1, 0);
    Core.convertScaleAbs(grad_x, abs_grad_x);

    // Gradient Y
    Imgproc.Sobel(grayImage, grad_y, ddepth, 0, 1);
    Core.convertScaleAbs(grad_y, abs_grad_y);

    // Total Gradient (approximate)
    Core.addWeighted(abs_grad_x, 0.5, abs_grad_y, 0.5, 0, detectedEdges);
    // Core.addWeighted(grad_x, 0.5, grad_y, 0.5, 0, detectedEdges);

    Imgcodecs.imwrite(sobelImage, detectedEdges);
    jLabelSobelFactor.setIcon(new ImageIcon(sobelImage));

}

From source file:usefull.LoopImageFiles.java

License:LGPL

public static void main(String[] args) throws InterruptedException {

    // define the path to my files - clearly and obviously 

    // **** CHANGE THIS TO YOUR OWN DIRECTORY ****/

    String IMAGE_FILES_DIRECTORY_PATH = "files/combinations/";

    // load the Core OpenCV library by name

    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

    // create a display window using an Imshow object

    Imshow ims = new Imshow("Next Image ...");

    Size frame = new Size(704, 480);

    List<Mat> backgroundImg = new ArrayList<Mat>();
    backgroundImg.add(Highgui.imread("files/1.png"));
    backgroundImg.add(Highgui.imread("files/2.png"));
    backgroundImg.add(Highgui.imread("files/3.png"));
    backgroundImg.add(Highgui.imread("files/4.png"));
    backgroundImg.add(Highgui.imread("files/5.png"));
    backgroundImg.add(Highgui.imread("files/6.png"));
    backgroundImg.add(Highgui.imread("files/7.png"));

    for (Mat bgImg : backgroundImg) {
        Mat grey = new Mat();
        Imgproc.cvtColor(bgImg, grey, Imgproc.COLOR_BGR2GRAY);
        Imgproc.adaptiveThreshold(grey, bgImg, 255, Imgproc.ADAPTIVE_THRESH_MEAN_C, Imgproc.THRESH_BINARY_INV,
                7, 10);//w ww .  j a v a 2  s.  c o m

        Size ksize = new Size(21, 21);
        Mat kernel = Imgproc.getStructuringElement(Imgproc.MORPH_ELLIPSE, ksize);

        Imgproc.morphologyEx(bgImg, bgImg, Imgproc.MORPH_CLOSE, kernel);

        Size filter = new Size(21, 21);
        Imgproc.GaussianBlur(bgImg, bgImg, filter, 0, 0, Imgproc.BORDER_DEFAULT);
    }

    BackgroundSubtractorMOG MoG = new BackgroundSubtractorMOG();

    List<Mat> fg_masks = new ArrayList<Mat>();

    Imshow imsS = new Imshow("input ... ");
    Imshow imsF = new Imshow("background");

    // get a listing of files in that directory
    Imshow ims_diff = new Imshow("Difference");
    File dir = new File(IMAGE_FILES_DIRECTORY_PATH);
    File[] directoryListing = dir.listFiles();
    if (directoryListing != null) {
        for (File imgFile : directoryListing) {

            // if the file name ends with .jpg (JPEG) or .png (Portable Network Graphic)

            if ((imgFile.getName().endsWith(".png")) || (imgFile.getName().endsWith(".jpg"))) {
                // load an image from each file (read and decode image file)
                Mat inputImage = new Mat();
                Mat iImg = new Mat();
                Size filter = new Size(15, 15);
                iImg = Highgui.imread(IMAGE_FILES_DIRECTORY_PATH + "/" + imgFile.getName());
                Imgproc.resize(iImg, inputImage, frame);
                Imgproc.GaussianBlur(inputImage, inputImage, filter, 0, 0, Imgproc.BORDER_DEFAULT);
                //Imgproc.GaussianBlur(inputImage, inputImage, filter, 0, 0, Imgproc.BORDER_DEFAULT);
                //Imgproc.GaussianBlur(inputImage, inputImage, filter, 0, 0, Imgproc.BORDER_DEFAULT);
                Imgproc.medianBlur(inputImage, inputImage, 9);

                Mat fg_mask = new Mat();

                Mat fg_mask1 = new Mat();
                Mat fg_mask2 = new Mat();
                Mat fg_mask3 = new Mat();
                Mat fg_mask4 = new Mat();
                Mat fg_mask5 = new Mat();
                Mat fg_mask6 = new Mat();
                Mat fg_mask7 = new Mat();

                ArrayList<Integer> countAll = new ArrayList<Integer>();

                for (int i = 0; i < 7; i++) {
                    // add it to the background model with a learning rate of 0.1

                    MoG.apply(inputImage, backgroundImg.get(i), 0.1);

                    // extract the foreground mask (1 = foreground / 0 - background), 
                    // and convert/expand it to a 3-channel version of the same 

                    Imgproc.cvtColor(backgroundImg.get(i), backgroundImg.get(i), Imgproc.COLOR_GRAY2BGR);

                }

                // logically AND it with the original frame to extract colour 
                // pixel only in the foreground regions

                Core.bitwise_and(inputImage, backgroundImg.get(0), fg_mask1);
                Core.bitwise_and(inputImage, backgroundImg.get(1), fg_mask2);
                Core.bitwise_and(inputImage, backgroundImg.get(2), fg_mask3);
                Core.bitwise_and(inputImage, backgroundImg.get(3), fg_mask4);
                Core.bitwise_and(inputImage, backgroundImg.get(4), fg_mask5);
                Core.bitwise_and(inputImage, backgroundImg.get(5), fg_mask6);
                Core.bitwise_and(inputImage, backgroundImg.get(6), fg_mask7);

                for (int i = 0; i < 7; i++) {
                    countAll.add(countP(backgroundImg.get(i)));
                }

                double meanPixels = average(countAll);
                double[] temp = new double[5];
                for (int i = 0; i < 5; i++) {
                    temp[i] = Math.abs(countAll.get(i) - meanPixels);
                }

                double min = temp[0];
                int mark = 0;
                for (int i = 1; i < 5; i++) {
                    if (temp[i] < min) {
                        mark = i;
                        min = temp[i];
                    }
                }

                fg_mask = backgroundImg.get(mark);

                // Create a contour ZONE B top-left
                Point[] contourPoints1 = new Point[5];
                contourPoints1[0] = new Point(55, 22);
                contourPoints1[1] = new Point(200, 22);
                contourPoints1[2] = new Point(330, 175);
                contourPoints1[3] = new Point(200, 430);
                contourPoints1[4] = new Point(55, 110);

                // convert it to a java list of OpenCV MatOfPoint
                // objects as this is what the draw function requires

                MatOfPoint contour1 = new MatOfPoint(contourPoints1);
                List<MatOfPoint> contourList1 = new ArrayList<MatOfPoint>();
                contourList1.add(contour1);

                // Create a contour ZONE C top-right
                Point[] contourPoints2 = new Point[4];

                contourPoints2[0] = new Point(55, 130);
                contourPoints2[1] = new Point(195, 435);
                contourPoints2[2] = new Point(125, 570);
                contourPoints2[3] = new Point(55, 340);

                MatOfPoint contour2 = new MatOfPoint(contourPoints2);
                List<MatOfPoint> contourList2 = new ArrayList<MatOfPoint>();
                contourList2.add(contour2);

                // Create a contour ZONE A
                Point[] contourPoints3 = new Point[5];

                contourPoints3[0] = new Point(420, 22);
                contourPoints3[1] = new Point(465, 22);
                contourPoints3[2] = new Point(463, 295);
                contourPoints3[3] = new Point(190, 695);
                contourPoints3[4] = new Point(65, 695);

                MatOfPoint contour3 = new MatOfPoint(contourPoints3);
                List<MatOfPoint> contourList3 = new ArrayList<MatOfPoint>();
                contourList3.add(contour3);

                // Create a contour ZONE C button
                Point[] contourPoints4 = new Point[4];

                contourPoints4[0] = new Point(310, 545);
                contourPoints4[1] = new Point(463, 320);
                contourPoints4[2] = new Point(463, 695);
                contourPoints4[3] = new Point(400, 695);

                MatOfPoint contour4 = new MatOfPoint(contourPoints4);
                List<MatOfPoint> contourList4 = new ArrayList<MatOfPoint>();
                contourList4.add(contour4);

                // Create a contour ZONE b right
                Point[] contourPoints5 = new Point[3];

                contourPoints5[0] = new Point(300, 555);
                contourPoints5[2] = new Point(385, 695);
                contourPoints5[1] = new Point(200, 695);

                MatOfPoint contour5 = new MatOfPoint(contourPoints5);
                List<MatOfPoint> contourList5 = new ArrayList<MatOfPoint>();
                contourList5.add(contour5);

                // Create a contour ZONE RACT
                Point[] contourPoints6 = new Point[4];

                contourPoints6[0] = new Point(210, 22);
                contourPoints6[1] = new Point(285, 22);
                contourPoints6[2] = new Point(275, 100);
                contourPoints6[3] = new Point(225, 100);

                MatOfPoint contour6 = new MatOfPoint(contourPoints6);
                List<MatOfPoint> contourList6 = new ArrayList<MatOfPoint>();
                contourList1.add(contour6);

                // Create a contour ZONE RACT
                Point[] contourPoints7 = new Point[4];

                contourPoints7[0] = new Point(400, 22);
                contourPoints7[1] = new Point(465, 22);
                contourPoints7[2] = new Point(465, 180);
                contourPoints7[3] = new Point(400, 125);

                MatOfPoint contour7 = new MatOfPoint(contourPoints7);
                List<MatOfPoint> contourList7 = new ArrayList<MatOfPoint>();
                contourList7.add(contour7);

                // Create a contour ZONE RACT
                Point[] contourPoints8 = new Point[3];

                contourPoints8[0] = new Point(0, 340);
                contourPoints8[1] = new Point(0, 695);
                contourPoints8[2] = new Point(150, 695);

                MatOfPoint contour8 = new MatOfPoint(contourPoints8);
                List<MatOfPoint> contourList8 = new ArrayList<MatOfPoint>();
                contourList8.add(contour8);

                //put point to the list
                List<Point> list1 = new ArrayList<Point>();
                List<Point> list2 = new ArrayList<Point>();
                List<Point> list3 = new ArrayList<Point>();
                List<Point> list4 = new ArrayList<Point>();
                List<Point> list5 = new ArrayList<Point>();
                List<Point> list6 = new ArrayList<Point>();
                List<Point> list7 = new ArrayList<Point>();
                List<Point> list8 = new ArrayList<Point>();

                Point[] contourPoints10 = new Point[5];

                contourPoints10[0] = new Point(22, 55);
                contourPoints10[1] = new Point(22, 200);
                contourPoints10[2] = new Point(175, 330);
                contourPoints10[3] = new Point(430, 200);
                contourPoints10[4] = new Point(110, 55);

                // convert it to a java list of OpenCV MatOfPoint
                // objects as this is what the draw function requires

                MatOfPoint contour10 = new MatOfPoint(contourPoints10);
                List<MatOfPoint> contourList10 = new ArrayList<MatOfPoint>();
                contourList10.add(contour10);

                // Create a contour ZONE C top-right
                Point[] contourPoints20 = new Point[4];

                contourPoints20[0] = new Point(130, 55);
                contourPoints20[1] = new Point(435, 195);
                contourPoints20[2] = new Point(570, 125);
                contourPoints20[3] = new Point(340, 55);

                MatOfPoint contour20 = new MatOfPoint(contourPoints20);
                List<MatOfPoint> contourList20 = new ArrayList<MatOfPoint>();
                contourList20.add(contour20);

                // Create a contour ZONE A
                Point[] contourPoints30 = new Point[5];

                contourPoints30[0] = new Point(22, 420);
                contourPoints30[1] = new Point(22, 465);
                contourPoints30[2] = new Point(295, 463);
                contourPoints30[3] = new Point(695, 190);
                contourPoints30[4] = new Point(695, 65);

                MatOfPoint contour30 = new MatOfPoint(contourPoints30);
                List<MatOfPoint> contourList30 = new ArrayList<MatOfPoint>();
                contourList30.add(contour30);

                // Create a contour ZONE C button
                Point[] contourPoints40 = new Point[4];

                contourPoints40[0] = new Point(545, 310);
                contourPoints40[1] = new Point(320, 463);
                contourPoints40[2] = new Point(695, 463);
                contourPoints40[3] = new Point(695, 400);

                MatOfPoint contour40 = new MatOfPoint(contourPoints40);
                List<MatOfPoint> contourList40 = new ArrayList<MatOfPoint>();
                contourList40.add(contour40);

                // Create a contour ZONE b right
                Point[] contourPoints50 = new Point[3];

                contourPoints50[0] = new Point(555, 300);
                contourPoints50[2] = new Point(695, 385);
                contourPoints50[1] = new Point(695, 200);

                MatOfPoint contour50 = new MatOfPoint(contourPoints50);
                List<MatOfPoint> contourList50 = new ArrayList<MatOfPoint>();
                contourList50.add(contour50);

                // Create a contour ZONE RACT
                Point[] contourPoints60 = new Point[4];

                contourPoints60[0] = new Point(22, 210);
                contourPoints60[1] = new Point(22, 285);
                contourPoints60[2] = new Point(100, 275);
                contourPoints60[3] = new Point(100, 225);

                MatOfPoint contour60 = new MatOfPoint(contourPoints60);
                List<MatOfPoint> contourList60 = new ArrayList<MatOfPoint>();
                contourList60.add(contour60);

                // Create a contour ZONE RACT
                Point[] contourPoints70 = new Point[4];

                contourPoints70[0] = new Point(22, 400);
                contourPoints70[1] = new Point(22, 465);
                contourPoints70[2] = new Point(180, 465);
                contourPoints70[3] = new Point(125, 400);

                MatOfPoint contour70 = new MatOfPoint(contourPoints70);
                List<MatOfPoint> contourList70 = new ArrayList<MatOfPoint>();
                contourList70.add(contour70);

                // Create a contour ZONE RACT
                Point[] contourPoints80 = new Point[3];

                contourPoints80[0] = new Point(340, 0);
                contourPoints80[1] = new Point(695, 0);
                contourPoints80[2] = new Point(695, 150);

                MatOfPoint contour80 = new MatOfPoint(contourPoints80);
                List<MatOfPoint> contourList80 = new ArrayList<MatOfPoint>();
                contourList80.add(contour80);

                Imgproc.drawContours(fg_mask, contourList10, -1, new Scalar(255, 255, 255), 2);
                Imgproc.drawContours(fg_mask, contourList20, -1, new Scalar(255, 255, 255), 2);
                Imgproc.drawContours(fg_mask, contourList30, -1, new Scalar(255, 255, 255), 2);
                Imgproc.drawContours(fg_mask, contourList40, -1, new Scalar(255, 255, 255), 2);
                Imgproc.drawContours(fg_mask, contourList50, -1, new Scalar(255, 255, 255), 2);
                Imgproc.drawContours(fg_mask, contourList60, -1, new Scalar(255, 255, 255), 2);
                Imgproc.drawContours(fg_mask, contourList70, -1, new Scalar(255, 255, 255), 2);
                Imgproc.drawContours(fg_mask, contourList80, -1, new Scalar(255, 255, 255), 2);

                Point point = new Point();
                for (int row = 0; row < fg_mask.rows(); row++) {
                    for (int col = 0; col < fg_mask.cols(); col++) {

                        point = new Point(row, col);
                        // perform point in polygon test
                        MatOfPoint2f contourPoint1f = new MatOfPoint2f(contourPoints1);
                        MatOfPoint2f contourPoint2f = new MatOfPoint2f(contourPoints2);
                        MatOfPoint2f contourPoint3f = new MatOfPoint2f(contourPoints3);
                        MatOfPoint2f contourPoint4f = new MatOfPoint2f(contourPoints4);
                        MatOfPoint2f contourPoint5f = new MatOfPoint2f(contourPoints5);
                        MatOfPoint2f contourPoint6f = new MatOfPoint2f(contourPoints6);
                        MatOfPoint2f contourPoint7f = new MatOfPoint2f(contourPoints7);
                        MatOfPoint2f contourPoint8f = new MatOfPoint2f(contourPoints8);

                        if (Imgproc.pointPolygonTest(contourPoint1f, point, false) >= 0) {
                            list1.add(point);
                        }
                        if (Imgproc.pointPolygonTest(contourPoint2f, point, false) >= 0) {
                            list2.add(point);
                        }
                        if (Imgproc.pointPolygonTest(contourPoint3f, point, false) >= 0) {
                            list3.add(point);
                        }
                        if (Imgproc.pointPolygonTest(contourPoint4f, point, false) >= 0) {
                            list4.add(point);
                        }
                        if (Imgproc.pointPolygonTest(contourPoint5f, point, false) >= 0) {
                            list5.add(point);
                        }
                        if (Imgproc.pointPolygonTest(contourPoint6f, point, false) >= 0) {
                            list6.add(point);
                        }
                        if (Imgproc.pointPolygonTest(contourPoint7f, point, false) >= 0) {
                            list7.add(point);
                        }
                        if (Imgproc.pointPolygonTest(contourPoint8f, point, false) >= 0) {
                            list8.add(point);
                        }

                    }

                }

                boolean flag[] = { false, false, false, false, false, false, false };

                int events = 0;
                String events_name = "";

                int count1 = 0;
                for (Point p : list1) {
                    int x1 = (int) p.x;
                    int y1 = (int) p.y;
                    double[] n = fg_mask.get(x1, y1);
                    double value1 = n[0];
                    if (value1 == 255.0) {
                        count1++;
                    }
                }
                System.out.println(" 1 " + count1);

                if (count1 > 2000) {
                    flag[0] = true;
                }

                int count2 = 0;
                for (Point p : list2) {
                    int x2 = (int) p.x;
                    int y2 = (int) p.y;
                    double[] n = fg_mask.get(x2, y2);
                    double value2 = n[0];
                    if (value2 == 255.0) {
                        count2++;
                    }
                }
                System.out.println(" 2 " + count2);

                if (count2 > 1500) {
                    flag[1] = true;
                }

                int count3 = 0;
                for (Point p : list3) {
                    int x3 = (int) p.x;
                    int y3 = (int) p.y;
                    double[] n = fg_mask.get(x3, y3);
                    double value3 = n[0];
                    if (value3 == 255.0) {
                        count3++;
                    }
                }
                System.out.println(" 3 " + count3);

                if (count3 > 20000) {
                    flag[4] = true;
                }
                if (count3 > 4000) {
                    flag[2] = true;
                }

                int count4 = 0;
                for (Point p : list4) {
                    int x4 = (int) p.x;
                    int y4 = (int) p.y;
                    double[] n = fg_mask.get(x4, y4);
                    double value4 = n[0];
                    if (value4 == 255.0) {
                        count4++;
                    }
                }
                System.out.println(" 4 " + count4);

                if (count4 > 1700) {
                    flag[1] = true;
                }

                int count5 = 0;
                for (Point p : list5) {
                    int x5 = (int) p.x;
                    int y5 = (int) p.y;
                    double[] n = fg_mask.get(x5, y5);
                    double value5 = n[0];
                    if (value5 == 255.0) {
                        count5++;
                    }
                }
                System.out.println(" 5 " + count5);

                if (count5 > 1000) {
                    flag[0] = true;
                }

                int count6 = 0;
                for (Point p : list6) {
                    int x6 = (int) p.x;
                    int y6 = (int) p.y;
                    double[] n = fg_mask.get(x6, y6);
                    double value6 = n[0];
                    if (value6 == 255.0) {
                        count6++;
                    }
                }
                System.out.println(" 6 " + count6);

                if (count6 > 750) {
                    flag[3] = true;
                }

                int count7 = 0;
                for (Point p : list7) {
                    int x7 = (int) p.x;
                    int y7 = (int) p.y;
                    double[] n = fg_mask.get(x7, y7);
                    double value7 = n[0];
                    if (value7 == 255.0) {
                        count7++;
                    }
                }
                System.out.println(" 7 " + count7);

                if (count7 > 1100) {
                    flag[5] = true;
                }

                int count8 = 0;
                for (Point p : list8) {
                    int x8 = (int) p.x;
                    int y8 = (int) p.y;
                    double[] n = fg_mask.get(x8, y8);
                    double value8 = n[0];
                    if (value8 == 255.0) {
                        count8++;
                    }
                }
                System.out.println(" 8 " + count8);

                if (count8 > 2000) {
                    flag[6] = true;
                }

                imsS.showImage(inputImage);
                imsF.showImage(fg_mask);
                imsF.showImage(backgroundImg.get(0));
                System.out.print(imgFile.getName() + " ");

                //Identifying events
                if ((!flag[0]) && (!flag[1]) && (!flag[2]) && (!flag[3]) && (!flag[4])) {
                    System.out.print("Empty ");
                } else if (flag[4] || (!flag[4] && flag[5]) || (!flag[4] && flag[6])) {
                    System.out.print("Train ");
                }

                if (flag[0] && !(flag[4] || (!flag[4] && flag[5]) || (!flag[4] && flag[6]))) {
                    System.out.print("Enter ");
                }

                if (flag[1] && !(flag[4] || (!flag[4] && flag[5]) || (!flag[4] && flag[6]))) {
                    System.out.print("Leave ");
                }

                if ((flag[2] && (!flag[5]) && (!flag[6]))
                        && !(flag[3] && (!(flag[4] || (!flag[4] && flag[5]) || (!flag[4] && flag[6]))))) {
                    System.out.print("On track ");
                }

                if (flag[3] && (!(flag[4] || (!flag[4] && flag[5]) || (!flag[4] && flag[6])))) {
                    System.out.print("Barrier");
                }

                System.out.println();

                Thread.sleep(40);
            }
        }
    } else {

        System.out.println("Could not get listing for directory: " + IMAGE_FILES_DIRECTORY_PATH);
    }
}

From source file:usefull.SmoothImage.java

License:LGPL

public static void main(String[] args) {

    // load the Core OpenCV library by name

    System.loadLibrary(Core.NATIVE_LIBRARY_NAME);

    // create a display window using an Imshow object

    Imshow window1 = new Imshow("My Image");

    // load an image from file (read and decode JPEG file)

    Mat inputImg = Highgui.imread("files/lena.png");

    // create an output object

    Mat outputImg = new Mat();

    // smooth the image 

    Size filter = new Size(5, 5);
    Imgproc.GaussianBlur(inputImg, outputImg, filter, 0, 0, Imgproc.BORDER_DEFAULT);

    // display image

    window1.showImage(outputImg);//from   w ww.  j  a  va2 s.  c o  m

}