API αναζήτησης αντιστραμμένης εικόνας

Είμαστε ενθουσιασμένοι που σας ενημερώνουμε για τις νέες δυνατότητες που εισάγονται στο API Aspose.Imaging Cloud. Τώρα υποστηρίζει πηγή εικόνας μέσω ιστοσελίδας για αναζήτηση εικόνας μέσω αντιστροφής. Η δυνατότητα διόρθωσης κλίσης της εικόνας καθιστά το API αξεπέραστο. Συνεχίζουμε να εργαζόμαστε και να βελτιώνουμε ώστε να σας προσφέρουμε τις καλύτερες δυνατές λύσεις.

Η αναζήτηση ανάστροφης εικόνας είναι χρήσιμη για την εύρεση διπλών ή παρόμοιων εικόνων. Μπορεί επίσης να βοηθήσει στην παρακολούθηση ανώμαλου ή γραφικού περιεχομένου. Μπορείτε επίσης να αντεπιτεθείτε στις παραβιάσεις πνευματικών δικαιωμάτων ή τα αντίγραφα εμπορικών σημάτων αναζητώντας ψηφιακά υπογεγραμμένες εικόνες με την ανάστροφη αναζήτηση. Επιπλέον, η διόρθωση κλίσης εικόνας είναι μια άλλη δυνατότητα που προσθέτει αξία στην Aspose.Imaging Cloud API. Είναι επίσης σχετική με σαρωμένα έγγραφα PDF όπου συχνά υπάρχουν κεκλιμένες εικόνες. Τέτοια έγγραφα PDF μετατρέπονται συχνά σε αναζητήσιμα

Αναζήτηση Αναστροφής Εικόνας χρησιμοποιώντας Aspose.Imaging Cloud SDK για Python

Διατίθενται αρκετά SDKs για την επικοινωνία με το Aspose.Imaging Cloud API. Τα SDKs αναλαμβάνουν όλες τις λεπτομέρειες, ώστε να μπορείτε να προχωρήσετε με τις απαιτήσεις σας χωρίς προβλήματα. Τα SDKs περιλαμβάνουν .NET, Java, Python, PHP, Ruby, Android και Node.js. Εδώ θα εργαζόμαστε με ένα παράδειγμα Python:

Πρώτον, θα χρειαστείτε μια δωρεάν sign up στο Aspose.Cloud. Εγκαταστήστε Python 2.7 or later και στη συνέχεια προσθέστε το παρακάτω PyPi package στα requirements.txt σας.

aspose-imaging-cloud>=20.1

Τώρα εισάγετε τις εξαρτήσεις όπως παρακάτω:

import aspose-imaging-cloud

Τώρα, μπορείτε να χρησιμοποιήσετε τον παρακάτω κώδικα Python για να καλέσετε τις APIs και να δοκιμάσετε τη δυνατότητα:

    def search_image_from_web_source(self):
        """Finds the similar images from the URL source"""
        print('Finds similar images from URL:')

        similarity_threshold = 30.0
        max_count = 3
        folder = ImagingAiBase.CLOUD_PATH  # Folder with image to process
        storage = None  # We are using default Cloud Storage

        # Προσθέστε εικόνες από τον ιστότοπο στο πλαίσιο αναζήτησης
        image_source_url = urllib.quote_plus('https://www.f1news.ru/interview/hamilton/140909.shtml')
        self._imaging_api.create_web_site_image_features(
            requests.CreateWebSiteImageFeaturesRequest(self._search_context_id, image_source_url, folder, storage))

        self._wait_idle(self._search_context_id)

        # Κατεβάστε την εικόνα από την ιστοσελίδα
        image_data = req.get('https://cdn.f1ne.ws/userfiles/hamilton/140909.jpg')
        path = os.path.abspath(os.path.join(ImagingAiBase.OUTPUT_FOLDER, 'WebSearchSample.jpg'))
        with open(path, "wb") as f:
            f.write(image_data.content)

        # Αλλαγή μεγέθους της ληφθείσας εικόνας για να επιδειχθούν οι δυνατότητες της μηχανής αναζήτησης
        resized_image = self._imaging_api.create_resized_image(requests.CreateResizedImageRequest(
            path, 600, 400, "jpg", storage=storage))

        # Ανέβασμα εικόνας στο σύννεφο
        image_name = 'ReverseSearch.jpg'
        self._imaging_api.upload_file(requests.UploadFileRequest(ImagingAiBase.CLOUD_PATH + "/" + image_name,
                                                                 resized_image, storage))

        # Βρείτε παρόμοιες εικόνες στο περιεχόμενο αναζήτησης
        find_response = self._imaging_api.find_similar_images(
            requests.FindSimilarImagesRequest(self._search_context_id, similarity_threshold, max_count,
                                              image_id=ImagingAiBase.CLOUD_PATH + "/" + image_name,
                                              folder=folder, storage=storage))

        print('Similar images found: ' + str(len(find_response.results)))
        print('Similar image id: ' + find_response.results[0].image_id)
        print('Similarity: ' + str(find_response.results[0].similarity))

Η διαδικτυακή πηγή εικόνας για ανασ reverse image search είναι καλά εκτεθειμένη σε αυτό το παράδειγμα. Περιλαμβάνει ένα επιπλέον βήμα αλλαγής μεγέθους της εικόνας για να αποδείξει την αποτελεσματικότητα της API. Οι διαστάσεις της εικόνας μπορεί να διαφέρουν αλλά η API θα παραγάγει αξιόπιστα και ακριβή αποτελέσματα. Ακολουθεί το στιγμιότυπο οθόνης της εξόδου:

Όπως μπορείτε να παρατηρήσετε, ο αριθμός των παρόμοιων εικόνων, το URL και το ποσοστό ομοιότητας εμφανίζονται από τις παραμέτρους στην απόκριση API.

Επεξεργασία εικόνας με ευθυγράμμιση χρησιμοποιώντας Aspose.Imaging Cloud SDK για .NET

Οι εικόνες περιέχουν πολλές πληροφορίες και η επεξεργασία εικόνας έχει αποκτήσει μεγάλη σημασία αυτές τις μέρες. Ένα πολύ κοινό σενάριο είναι οι κεκλιμένες εικόνες σε σαρωμένα έγγραφα PDF ή συχνά στις εικόνες από κάμερες κινητών τηλεφώνων. Η Aspose.Imaging Cloud API περιλαμβάνει πλέον τη δυνατότητα διόρθωσης κλίσης των εικόνων. Μπορείτε να διορθώσετε την κλίση των εικόνων σε μορφές BMP, GIF, JPEG, JPEG2000, PSD, TIFF, WEBP και PNG. Ας εξετάσουμε ένα παράδειγμα .NET για τη διόρθωση κλίσης μιας εικόνας TIFF.

using System;
using System.IO;
using Aspose.Imaging.Cloud.Sdk.Api;
using Aspose.Imaging.Cloud.Sdk.Model.Requests;

namespace AsposeImagingCloudSdkExamples
{
    /// <summary>
    /// Παράδειγμα αποτύπωσης εικόνας.
    /// </summary>
    /// <seealso cref="AsposeImagingCloudSDKExamples.ImagingBase" />
    class DeskewImage : ImagingBase
    {
        /// <summary>
        /// Εγκαθιστά μια νέα παρουσία της <see cref=\"DeskewImage\"/> κλάσης.
        /// </summary>
        /// <param name=\"imagingApi\">Το API απεικόνισης.</param>
        public DeskewImage(ImagingApi imagingApi) : base(imagingApi)
        {
            PrintHeader("Deskew image example:");
        }

        /// <summary>
        /// Παίρνει το όνομα του αρχείου εικόνας παραδείγματος.
        /// </summary>
        /// <value>
        /// Το όνομα του αρχείου εικόνας παραδείγματος.
        /// </value>
        /// <remarks>
        /// Τα φορμά εισαγωγής θα μπορούσαν να είναι ένα από τα εξής:
        /// BMP, GIF, JPEG, JPEG2000, PSD, TIFF, WEBP, PNG
        /// </remarks>
        protected override string SampleImageFileName => "Sample_05_Scan1_SkewToLeft.tif";

        private const string SaveImageFormat = "tif";

        /// <summary>
        /// Αποκαθιστά μια εικόνα από μια αποθήκευση σύννεφου.
        /// </summary>
        public void DeskewImageFromStorage()
        {
            Console.WriteLine("Deskew the image from cloud storage");

            UploadSampleImageToCloud();

            bool resizeProportionally = true;
            string bkColor = "white";
            string folder = CloudPath; // Input file is saved at the Examples folder in the storage
            string storage = null; // We are using default Cloud Storage

            var request = new DeskewImageRequest(SampleImageFileName, resizeProportionally, bkColor, folder, storage);

            Console.WriteLine($"Call DeskewImage with params: resizeProportionally:{resizeProportionally}, bkColor:{bkColor}");

            using (Stream updatedImage = this.ImagingApi.DeskewImage(request))
            {
                SaveUpdatedSampleImageToOutput(updatedImage, false, SaveImageFormat);
            }

            Console.WriteLine();
        }

        /// <summary>
        /// Διόρθωση κλίσης μιας υπάρχουσας εικόνας και ανέβασμα της ενημερωμένης εικόνας σε αποθήκευση cloud.
        /// </summary>
        public void DeskewImageAndUploadToStorage()
        {
            Console.WriteLine("Deskews the image and upload to cloud storage");

            UploadSampleImageToCloud();

            bool resizeProportionally = true;
            string bkColor = null;
            string folder = CloudPath; // Input file is saved at the Examples folder in the storage
            string storage = null; // We are using default Cloud Storage

            var request = new DeskewImageRequest(SampleImageFileName, resizeProportionally, bkColor, folder, storage);

            Console.WriteLine($"Call DeskewImage with params: resizeProportionally:{resizeProportionally}, bkColor:{bkColor}");

            using (Stream updatedImage = this.ImagingApi.DeskewImage(request))
            {
                UploadImageToCloud(GetModifiedSampleImageFileName(false, SaveImageFormat), updatedImage);
            }

            Console.WriteLine();
        }

        /// <summary>
        /// Διορθώνει την κλίση μιας εικόνας. Δεδομένα εικόνας αποστέλλονται σε ένα ρεύμα αιτήματος.
        /// </summary>
        public void CreateDeskewedImageFromRequestBody()
        {
            Console.WriteLine("Deskews the image from request body");

            using (FileStream inputImageStream = File.OpenRead(Path.Combine(ExampleImagesFolder, SampleImageFileName)))
            {
                bool resizeProportionally = true;
                string bkColor = "white";
                string storage = null; // We are using default Cloud Storage
                string outPath = null; // Path to updated file (if this is empty, response contains streamed image)

                var request = new CreateDeskewedImageRequest(inputImageStream, resizeProportionally, bkColor, outPath, storage);

                Console.WriteLine($"Call DeskewImage with params: resizeProportionally:{resizeProportionally}, bkColor:{bkColor}");

                using (Stream updatedImage = this.ImagingApi.CreateDeskewedImage(request))
                {
                    SaveUpdatedSampleImageToOutput(updatedImage, true, SaveImageFormat);
                }
            }

            Console.WriteLine();
        }
    }
}

Αυτό το παράδειγμα ανεβάζει μια δείγμα εικόνας στο Cloud Storage, διορθώνει την κλίση της και ανεβάζει την ενημερωμένη εικόνα στο Cloud Storage. Παρακάτω είναι τα στιγμιότυπα οθόνης των εισερχόμενων και εξερχόμενων εικόνων TIFF.

Input TIFF Image

Εξαγωγή TIFF εικόνας (διορθωμένη)

Aspose.Imaging Cloud SDK για Ruby

Another important addition in SDKs lineup is that we have published Aspose.Imaging Cloud SDK for Ruby. It lets you integrate robust image processing features in your Ruby applications.

Σας ενθαρρύνουμε να δοκιμάσετε αυτές τις αποτελεσματικές δυνατότητες του API και να μοιραστείτε τις εμπειρίες σας μαζί μας. Ενημερώστε μας αν έχετε προτάσεις ή ερωτήσεις. Ανυπομονούμε να ακούσουμε νέα σας μέσω Free Support Forums.

Σχετικό Άρθρο:

Εισαγωγή στο Aspose.Imaging Cloud V3