Πώς να εφαρμόσετε τα αποτελέσματα σε μια επιλεγμένη περιοχή εικόνας

Πώς να εφαρμόσετε τα αποτελέσματα σε μια επιλεγμένη περιοχή εικόνας

Εφαρμογή αποτελεσμάτων μόνο σε ένα μέρος μιας εικόνας -όπως η ψεκασμός ενός προσώπου ή η έμφαση ενός προϊόντος- μπορεί να αυτοματοποιηθεί με το Aspose.Imaging για .NET. Το φιλτράρισμα με βάση την περιοχή επιτρέπει δημιουργικά, ιδιωτικά ή branding αποτελέσματα σε έργα C#.

Το πρόβλημα του πραγματικού κόσμου

Η χειροκίνητη επιλογή της περιοχής και η επεξεργασία σε εκδότες φωτογραφιών είναι αργή και ασυμβίβαστη.Για την ιδιωτικότητα (π.χ. μπερδεμένα πρόσωπα) ή τα σημάδια του προϊόντος, οι αυτόματες, επαναλαμβανόμενες περιφερειακές επιδράσεις είναι απαραίτητες.

Συνοπτική λύση

Το Aspose.Imaging σας επιτρέπει να καθορίσετε μια περιοχή (πραγματική γωνία) και να εφαρμόσετε οποιοδήποτε φίλτρο ή αποτέλεσμα μόνο σε αυτήν την περιοχή.Το υπόλοιπο της εικόνας παραμένει αμετάβλητο. Αυτό είναι ιδανικό για την προστασία της ιδιωτικής ζωής, το δημιουργικό σχεδιασμό ή τα χαρακτηριστικά που τονίζουν.

Προϋποθέσεις

  • Visual Studio 2019 ή αργότερα
  • .NET 6.0 ή μεταγενέστερος (ή .Net Framework 4.6.2+)
  • Aspose.Imaging για .NET από το NuGet
  • Μια εικόνα εισόδου (JPG, PNG, BMP, κλπ.)
PM> Install-Package Aspose.Imaging

Βήμα προς βήμα εφαρμογή

Βήμα 1: Προετοιμάστε την εικόνα εισόδου σας

Αποθηκεύστε την εικόνα που θέλετε να επεξεργαστείτε (π.χ., photo.jpgστο φάκελο του έργου σας.

Βήμα 2: Προσδιορίστε την περιοχή για το αποτέλεσμα

Αποφασίστε τις ορθογώνιες συντεταγμένες (x, y, πλάτος, ύψος) για την περιοχή. Για παράδειγμα, για να βουρτσίζετε ένα πρόσωπο στο (100, 80) με μέγεθος 80x80:

using Aspose.Imaging;
Aspose.Imaging.Rectangle blurRegion = new Aspose.Imaging.Rectangle(100, 80, 80, 80); // (x, y, width, height)

Βήμα 3: Εφαρμόστε ένα φίλτρο μόνο στην επιλεγμένη περιοχή

using Aspose.Imaging.Filters;
string inputPath = @"./photo.jpg";
string outputPath = @"./photo_blur_face.png";

using (Image image = Image.Load(inputPath))
{
    var rect = new Aspose.Imaging.Rectangle(100, 80, 80, 80); // Only this area is affected
    image.Filter(rect, new GaussWienerFilterOptions(9, 9)); // Blur filter
    image.Save(outputPath, new Aspose.Imaging.ImageOptions.PngOptions());
}

Βήμα 4: Εφαρμόστε μια διαφορετική επίδραση (π.χ. Sharpen) σε άλλη περιοχή

var highlightRect = new Aspose.Imaging.Rectangle(200, 150, 60, 60);
image.Filter(highlightRect, new SharpenFilterOptions(7));

Βήμα 5: Δοκιμάστε την έξοδο

Ανοίξτε το αποτέλεσμα για να επιβεβαιώσετε ότι μόνο οι καθορισμένες περιοχές επηρεάζονται από τα φίλτρα.

Βήμα 6: (επιλεκτικά) Περιφερειακά βασισμένα αποτελέσματα της διαδικασίας συσκευασίας

string[] files = Directory.GetFiles("./batch", "*.jpg");
foreach (var file in files)
{
    using (Image img = Image.Load(file))
    {
        img.Filter(new Aspose.Imaging.Rectangle(50, 40, 100, 100), new GaussWienerFilterOptions(7, 7));
        img.Save(Path.ChangeExtension(file, ".blurred.png"), new Aspose.Imaging.ImageOptions.PngOptions());
    }
}

Βήμα 7: Επίλυση προβλημάτων Περιφέρειας/Εφαρμογές

  • Επιπτώσεις που δεν είναι ορατές: Βεβαιωθείτε ότι οι συντονισμοί της περιοχής βρίσκονται εντός των ορίων της εικόνας.
  • ** Περιφέρεια μεταβληθεί:** Δύο έλεγχοι x, y, πλάτος, αξίες ύψους.
  • Περισσότερες περιοχές: Εφαρμόστε φίλτρα σε κάθε περιοχή διαδοχικά.

Χρήση περιπτώσεων και εφαρμογών

  • Blur πρόσωπα για την ιδιωτικότητα σε φωτογραφίες χρηστών
  • Βαθμολογήστε προϊόντα ή περιοχές σε μάρκετινγκ banners
  • Καλλιτεχνικές ή μάρκετινγκ επιφάνειες σε τμήματα εικόνας
  • Μάσκα άδεια πλάκες σε φωτογραφίες οχήματος

Κοινές προκλήσεις και λύσεις

Δοκιμή 1: Η περιφέρεια συντονίζει ακατάλληλα

Λύση: Χρησιμοποιήστε έναν επεξεργαστή εικόνας για να βρείτε την σωστή περιοχή. δοκιμάστε με ένα ορατό χρώμα πριν από την εφαρμογή ενός φίλτρου.

Πρόκληση 2: Πολλαπλές επιπτώσεις υπερφόρτωσης

Λύση: Εφαρμόστε αποτελέσματα στην επιθυμητή ακολουθία. αποθηκεύστε μεσοπρόθεσμες επιδόσεις εάν είναι απαραίτητο.

Πρόκληση 3: Περιφερειακή επεξεργασία βάσει Batch

Λύση: Αποθηκεύστε τα δεδομένα της περιοχής ανά αρχείο σε ένα config file ή λεξικό για την αυτοματοποίηση.

Αξιολόγηση των επιδόσεων

  • Εφαρμόστε τα αποτελέσματα στην μικρότερη περιοχή που απαιτείται για την ταχύτητα
  • Εισαγωγή εικόνων μετά την επεξεργασία
  • Αποθηκεύστε στο PNG για αποτελέσματα χωρίς απώλειες

שיטות עבודה מומלצות

  • Υπολογισμός και έγγραφο συντονίζει σαφώς την περιοχή
  • Προβλέπεται η περιοχή πριν από τη μαζική επεξεργασία
  • Κρατήστε ένα αντίγραφο της αρχικής εικόνας για undo
  • Φωτογραφίες μετά τη χρήση

Προχωρημένα σενάρια

Σενάριο 1: Δυναμική επιλογή περιοχής

Διαβάστε τους συντονισμούς της περιοχής από ένα αρχείο / βάση δεδομένων για κάθε εικόνα.

Σενάριο 2: Συνδυάστε τα αποτελέσματα με τις αναφορές

Χρησιμοποιήστε το Graphics κλάση για να τραβήξετε σχήματα / κείμενο, στη συνέχεια εφαρμόστε ένα περιφερειακό αποτέλεσμα.

FAQ

Q: Μπορώ να χρησιμοποιήσω μη ορθογώνιες περιοχές;**Α: Το ενσωματωμένο φίλτρο εφαρμόζεται σε ορθογώνια. για προηγμένη μάσκα, χρησιμοποιήστε προσαρμοσμένα σχέδια ή γραφικά.

**Q: Πώς μπορώ να αυτοματοποιήσω την ανίχνευση προσώπου για την επιλογή περιοχών;**Α: Ενσωματώστε μια βιβλιοθήκη ανίχνευσης προσώπου για να πάρετε συντονισμούς, στη συνέχεια, χρησιμοποιήστε το Aspose.Imaging για νύχτα.

Q: Μπορώ να συνδυάσω δύο αποτελέσματα στην ίδια περιοχή;**Α: Ναι, καλέστε Filter Πολλές φορές για την ίδια περιοχή.

Συμπεράσματα

Με το Aspose.Imaging για το .NET, οι επιλεκτικές επιδράσεις που βασίζονται στην περιοχή, όπως το blur, το sharpen ή το highlight, είναι πλήρως αυτοματοποιημένες, βοηθώντας γρήγορα να αντιμετωπίσετε τις ανάγκες της ιδιωτικής ζωής, της μάρκας ή της δημιουργίας σε μεγάλα κομμάτια εικόνων.

See Σχετικά με το .NET API Reference Για περισσότερες περιφέρειες και επιλογές αποτελέσματος.

 Ελληνικά