Frage

Die folgende Funktion löst das Problem, aber ich verstehe nicht, wie man es nennt, insbesondere "Out List Imgletter" -Teil.

  public static bool ApplyBlobExtractor (Bitmap SourceImg, int LettersCount, out List<Bitmap> ImgLetters)
    {
        ImgLetters = null;
        ImgLetters = new List<Bitmap> ();

        BlobCounter blobCounter  = new BlobCounter ();

        // Sort order
        blobCounter.ObjectsOrder = ObjectsOrder.XY;            
        blobCounter.ProcessImage (SourceImg);
        Blob[] blobs             = blobCounter.GetObjects (SourceImg, false);            

        // Adding images into the image list            
        UnmanagedImage currentImg;            
        foreach (Blob blob in blobs)
        {
            currentImg = blob.Image;
            ImgLetters.Add (currentImg.ToManagedImage ());
        }            

        return ImgLetters.Count == LettersCount;
    }

Jetzt schauen wir uns das an:

public static bool ApplyBlobExtractor (Bitmap SourceImg, int LettersCount, out List<Bitmap> ImgLetters)

Bitmap scresimg - Bild, wo Blobs gefunden werden

Int LettersCount - Blob, den wir extrahieren werden (Nummer)

Out List Imgletter - ???

Was macht der 3. Parameter (wie nennt man diese Funktion)?

Bitmap image1 = new Bitmap(@"C:\1.png");    
..
ApplyBlobExtractor (image1, 1, ??? )
..
image2.save(@"C:\2.png")
War es hilfreich?

Lösung

ein out Mit dem Parameter können Sie Ergebnisse von einem Methodenaufruf außer dem Rückgabeparameter zurückholen. http://msdn.microsoft.com/en-us/library/t3c3bfhx(v=vs.80).aspx

In Ihrem Beispiel die Methode ApplyBlobExtractor Es scheint eine Quellbitmap zu nehmen, und eine Buchstabencount (vermutlich die Anzahl der Buchstaben, die Sie erwarten), wird dieses Blobcounter -Objekt verwendet, um es zu zerhacken. Es wird wahr zurückgegeben, wenn es die gleiche Anzahl von Buchstaben findet, die Sie erwarten. Sie werden Ihnen auch die Ausgabebilder als Liste durch den Out -Parameter zur Verfügung stellen.

Es würde so etwas wie ...

Bitmap img1 = new Bitmap(@"C:\1.png");

List<Bitmap> foundImages;

bool result = ApplyBlobExtractor(img1, 1, out foundImages);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top