Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Java (http://www.chiefdelphi.com/forums/forumdisplay.php?f=184)
-   -   Vision Targeting: Dilate (http://www.chiefdelphi.com/forums/showthread.php?t=127645)

Arhowk 09-03-2014 15:03

Vision Targeting: Dilate
 
Is there an equivalent of the openCv structure element "dilate" in Java's version of NIVision?

Greg McKaskle 10-03-2014 21:02

Re: Vision Targeting: Dilate
 
The Dilate is an input to Morphology function.

Specifically, the imaqMorphology function or the imaqGrayMorphology function if the image is still grayscale will take in a method that can be dilate.

I don't know if that is wrapped for Java.

Greg McKaskle

Arhowk 15-03-2014 13:08

Re: Vision Targeting: Dilate
 
Anyone? We need it to detect hot goals

E/ i found this in NIVision.java

Code:

    //============================================================================
    //  Morphology functions
    //============================================================================
    //IMAQ_FUNC int IMAQ_STDCALL imaqGrayMorphology(Image* dest, Image* source, MorphologyMethod method, const StructuringElement* structuringElement);

E/ can anyone post the list of constants for MorphologyMethod and StructuringElement? if I'm rewrapping the entire NIVision library might as well throw in erode as well


I'm going to see if i can rewrap this

E/ my copy of windriver has no license -_-

E/ found them here http://zone.ni.com/reference/en-XX/h...raymorphology/

E/ for open sourcing purposes, here is NIVision.dilate(). If anyone knows how to remove the while loop and convert the 0 into a [count][count], LMK. If you want to use this, you have to rebuild the wpi libraries and add this in image/NIVision.java

Code:

    private static final int FN_DILATE = 2;
   
    private static final BlockingFunction imaqGrayMorphologyFn = NativeLibrary.getDefaultInstance().getBlockingFunction("imaqGrayMorphology");
    static { imaqGrayMorphologyFn.setTaskExecutor(taskExecutor); }
   
    public static void dilate(Pointer dest, Pointer source, int count) throws NIVisionException {
        assertCleanStatus(imaqGrayMorphologyFn.call4(dest.address().toUWord().toPrimitive(),
                                                source.address().toUWord().toPrimitive(),
                                                FN_DILATE,
                                                0));
        if(--count > 0){
            while(count --> 0){
                assertCleanStatus(imaqGrayMorphologyFn.call4(dest.address().toUWord().toPrimitive(),
                                                        dest.address().toUWord().toPrimitive(),
                                                        FN_DILATE,
                                                        0));
            }
        }
    }



All times are GMT -5. The time now is 11:42.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi