Πώς να εφαρμόσετε τα αποτελέσματα σε μια επιλεγμένη περιοχή εικόνας
Εφαρμογή αποτελεσμάτων μόνο σε ένα μέρος μιας εικόνας -όπως η ψεκασμός ενός προσώπου ή η έμφαση ενός προϊόντος- μπορεί να αυτοματοποιηθεί με το 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 Για περισσότερες περιφέρειες και επιλογές αποτελέσματος.