Funktion in C# mit verschiedenen Übergabedatentypen ermöglichen?



  • Hallo miteinander,

    ich habe eine bilverarbeitende Funktion, welche mit OpenCV (über einen Wrapper) realisiert ist. Jetzt möchte ich hierbei die Übergabe von zwei Datentypen ermöglichen: Bitmap und IplImage. Bisher habe ich die Funktion immer nur mit Bitmaps aufrufen müssen und diese dann zu IplImage konvertieren müssen. Nun habe ich eine Programmstelle, in der ich sowieso mit IplImage hantiere und möchte natürlich nicht ein Mal hin und wieder zurück konvertieren...

    Bisher sieht der Anfang der Funktion in etwa so aus:

    public PointF[] GetCircleCenters(Bitmap CalImage, double MinRadius, double MaxRadius)
            {
                PointF CircleCenterPoint = new PointF(0, 0);
                PointF[] CircleCenterArr;
                ArrayList CircleCenterList = new ArrayList();
    
                IplImage IplCalImage;
                IplCalImage = highgui.ToIplImage(CalImage, true);
    .....................
    ...........
    
    }
    

    Ich würde mich sehr freuen, wenn Ihr mir weiterhelfen könntet!

    Gruß

    Micha



  • Und du möchtest was?Ich konnte jetzt nicht wirklich ne eindeutige Frage erkennen?



  • Sowas?

    public PointF[] GetCircleCenters(Bitmap CalImage, double MinRadius, double MaxRadius)
    {
        return GetCircleCenters( highgui.ToIplImage(CalImage, true), MinRadius, MaxRadius );
    }
    
    public PointF[] GetCircleCenters(IplImage CalImage, double MinRadius, double MaxRadius)
    {
        // ...
    }
    


  • ... 🙂

    Ich kann tatsächlich eine gleichnamige Funktion erstellen und nur die Parameter ändern?

    David hat den Nagel auf den Kopf getroffen, vielen Dank!

    Gruß

    Micha



  • Ja sowas nennt man tatsächlich Methodenüberladung



  • Firefighter schrieb:

    Ja sowas nennt man tatsächlich Methodenüberladung

    Ich erinnere mich grau daran, diesen Begriff schonmal irgendwo gehört zu haben... Danke!


Anmelden zum Antworten