სურათის უკუცვლითი ძარის API

ჩვენ ძალიან ბედნიერი ვართ, რომ გაგიჩნებთ ახალი ფუნქციების შესახებ Aspose.Imaging Cloud API-ში. ახლა ის მხარს უჭერს ვებსაიტზე დაფუძნებულ სურათის წყაროს პირის სურათის ძიებისათვის. სურათის დეზქიუინგის ფუნქცია ასევე ხდის API-ს საუკეთესო. ჩვენ უწყვეტად ვმუშაობთ და ვითარებით ვუზრუნველყოფთ საუკეთესო შესაძლო გადაწყვეტილებებს.

Reverse image search is useful for finding duplicate or similar images. It can also help to monitor obscene or graphic content. You can also counter copyrights violations or trademark counterfeit by searching digitally signed images with the reverse search. Moreover, image deskewing is another feature that adds value to Aspose.Imaging Cloud API. It is also relevant to scanned PDF documents where skewed images often exist. Such PDF documents are frequently converted to searchable PDF documents where the results can be improved by deskewing the images. Let us dissect these features below.

Aspose.Imaging Cloud SDK for Python გამოყენებითი სურათების ასახვის საძიებლად

ხელმისაწვდომია რამდენიმე SDK, რათა კომუნიკაცია მოახდინოს Aspose.Imaging Cloud API-სთან. SDK-ები იზრუნებენ ყველა უმნიშვნელო დეტალზე, რათა თქვენ შეგიძლიათ შეუფერხებლად გააგრძელოთ თქვენი მოთხოვნებით. SDK-ები მოიცავს .NET, Java, Python, PHP, Ruby, Android, და Node.js. აქ ჩვენ გავაკეთებთ ერთ აბსოლუტურ მაგალითზე Python-ში:

თავიდან, გჭირდება უფასო sign up Aspose.Cloud-ზე. დააინსტალირე Python 2.7 ან უფრო ახლებური და შემდეგ ვაშლიჯო PyPi package შენს requirements.txt-ში.

aspose-imaging-cloud>=20.1

ახლა იმპორტი გააკეთეთ საცდელების სახით:

import aspose-imaging-cloud

ახლა, შეგიძლიათ გამოიყენოთ ქვემოთ მოცემული Python კოდი API-ების გამოძახებისთვის და ფუნქციის ტესტირებისთვის:

    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))

ვებსაიტზე დაფუძნებული სურათების წყარო პირიქით სურათების საძიებო სისტემისთვის კარგად არის აღწერილი ამ მაგალითში. მასში შეტანილია სურათის ზომების შეცვლის დამატებითი ნაბიჯი 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>
    /// Deskew image example.
    /// </summary>
    /// <seealso cref=\"AsposeImagingCloudSDKExamples.ImagingBase\" />
    class DeskewImage : ImagingBase
    {
        /// <summary>
        /// Initializes a new instance of the <see cref=\"DeskewImage\"/> class.
        /// </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>
        /// გაასწორეთ არსებული სურათი და ატვირთეთ განახლებული სურათი云存储.
        /// </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 სურათების საგნტა და გამოსახულებების სქრინშოტები.

შესატყვისი TIFF გამოსახულება

გამოსავალი TIFF სურათი (დასწორებული)

Aspose.Imaging Cloud SDK for Ruby

სხვა მნიშვნელოვანი დამატება SDK-ების ვერსიაში არის ის, რომ ჩვენ შევაქეთ Aspose.Imaging Cloud SDK for Ruby. ეს საშუალებას გაწვდით გააერთიანოთ გაწვდილი სურათების დამუშავების ფუნქციები თქვენს Ruby აპლიკაციებისათვის.

შენახეთ ტრანსპორტირება რომ გაგიზიაროთ ამ ეფექტურ ფუნქციებზე API და გაგიზიაროთ თქვენი გამოცდილება ჩვენთან. გვითხრათ თუ გაქვთ რაიმე რეკომენდაცია ან კითხვები. ველით თქვენი გამოხმაურების Free Support Forums საშუალებით.

შესახებ სტატია:

Introducing Aspose.Imaging Cloud V3