Képkereső API

Örömmel értesítünk a Aspose.Imaging Cloud API-ban bevezetett új funkciókról. Mostantól támogatja a weboldal alapú képforrást a fordított képkereséshez. A képrendező funkció szintén páratlanná teszi az API-t. Folyamatosan dolgozunk és fejlesztünk, hogy a legjobb megoldásokat kínálhassuk önöknek.

A fordított képkutatás hasznos a másolható vagy hasonló képek megtalálásában. Ezenkívül segíthet a obszcén vagy grafikus tartalom nyomon követésében. A digitálisan aláírt képek fordított keresésével a szerzői jogsértések vagy a védjegy hamisítványok ellen is felléphet. Továbbá, a képek elforgatásának korrekciója egy másik funkció, amely értéket ad az Aspose.Imaging Cloud API-hoz. Ez releváns a beolvasott PDF dokumentumok esetében is, ahol gyakran előfordulnak ferde képek. Az ilyen PDF dokumentumokat gyakran átkonvertálják kereshető PDF dokumentumokká, ahol az eredmények javíthatók a képek elforgatásának korrekciójával. Né

Képfordítás keresése az Aspose.Imaging Cloud SDK használatával Pythonban

Több SDK elérhető az Aspose.Imaging Cloud API-val való kommunikációhoz. Az SDK-k gondoskodnak az összes apró részletről, így Ön gond nélkül haladhat az igényeivel. Az SDK-k között szerepel .NET, Java, Python, PHP, Ruby, Android, és Node.js. Itt egy Python példával fogunk dolgozni:

Először is, szükséged lesz egy ingyenes sign up regisztrációra az Aspose.Cloud-n. Telepítsd a Python 2.7 vagy későbbi verziót, majd add hozzá a következő PyPi package csomagot a requirements.txt fájlodhoz.

aspose-imaging-cloud>=20.1

Most importálja a függőségeket az alábbiak szerint:

import aspose-imaging-cloud

Most már használhatod az alábbi Python kódot az API-k hívására és a funkció tesztelésére:

    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

        # Add images from the website to the search context
        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)

        # Töltsd le a képet a weboldalról
        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)

        # A letöltött kép átméretezése a keresőmotor képességeinek bemutatására
        resized_image = self._imaging_api.create_resized_image(requests.CreateResizedImageRequest(
            path, 600, 400, "jpg", storage=storage))

        # Töltsd fel a képet a felhőbe
        image_name = 'ReverseSearch.jpg'
        self._imaging_api.upload_file(requests.UploadFileRequest(ImagingAiBase.CLOUD_PATH + "/" + image_name,
                                                                 resized_image, storage))

        # Keresd a hasonló képeket a keresési kontextusban
        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))

A web alapú képforrás a visszafelé keresett képhez jól ki van dolgozva ebben a példában. Tartalmaz egy további lépést is, amely a kép átméretezését jelenti, hogy bemutassa az API hatékonyságát. A kép méretei eltérhetnek, de az API megbízható és pontos eredményeket fog produkálni. Az alábbiakban a kimenet képernyőképét láthatja:

Ahogy észreveheti, a hasonló képek száma, az URL és a hasonlósági százalék az API válaszának paramétereivel van megjelenítve.

Kép elforgatásának helyesbítése Aspose.Imaging Cloud SDK segítségével .NET平台ra

A képek sok információt tartalmaznak, és a képfeldolgozás manapság nagy jelentőséggel bír. Egy nagyon gyakori felhasználási eset a ferde képek a beolvasott PDF dokumentumokban vagy gyakran a mobiltelefonok kameráiból származó képekben. Az Aspose.Imaging Cloud API mostantól tartalmazza a képek kiegyenesítésének lehetőségét. Képes vagy BMP, GIF, JPEG, JPEG2000, PSD, TIFF, WEBP és PNG formátumban lévő képeket kiegyenesíteni. Tekintsünk meg egy .NET példát egy TIFF kép kiegyenesítésére.

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

namespace AsposeImagingCloudSdkExamples
{
    /// < összefoglaló>
    /// A kép elforgatásának példája.
    /// </summary>
    /// <seealso cref=\"AsposeImagingCloudSDKExamples.ImagingBase\" />
    class DeskewImage : ImagingBase
    {
        /// < összefoglaló>
        /// Inicializálja a <see cref=\"DeskewImage\"/> osztály egy új példányát.
        /// </summary>
        /// <param name=\"imagingApi\">A képalkotási API.</param>
        public DeskewImage(ImagingApi imagingApi) : base(imagingApi)
        {
            PrintHeader("Deskew image example:");
        }

        /// < összefoglaló>
        /// Lekéri a példa képfájl nevét.
        /// </summary>
        /// <value>
        /// A példa kép fájl neve.
        /// </value>
        /// <remarks>
        /// Az input formátumok a következők egyikébe tartozhatnak:
        /// BMP, GIF, JPEG, JPEG2000, PSD, TIFF, WEBP, PNG
        /// </remarks>
        protected override string SampleImageFileName => "Sample_05_Scan1_SkewToLeft.tif";

        private const string SaveImageFormat = "tif";

        /// < összefoglaló>
        /// Elforgat egy képet egy felhőalapú tárolóból.
        /// </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();
        }

        /// < összefoglaló>
        /// Kép elforgatása és a frissített kép feltöltése egy felhőalapú tárolóra.
        /// </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();
        }

        /// < összefoglaló>
        /// Kihúz egy képet. A kép adatai egy kérés áramlásában kerülnek átadásra.
        /// </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();
        }
    }
}

Ez a példa egy minta képet tölti fel a Felhő Tárolásba, elforgatja, majd feltölti a frissített képet a Felhő Tárolásba. Az alábbiakban a bemeneti és kimeneti TIFF képek képernyőképei láthatók.

Input TIFF Image

Kimenet TIFF Kép (Felületkiegyenlített)

Aspose.Imaging Cloud SDK Ruby-hoz

A SDK-k sorozatának egy másik fontos kiegészítése, hogy közzétettük az Aspose.Imaging Cloud SDK for Ruby programot. Ez lehetővé teszi, hogy robusztus képfeldolgozó funkciókat integráljon Ruby alkalmazásaiba.

Bátorítunk, hogy próbáld ki az API ezen hatékony funkcióit, és oszd meg velünk a tapasztalataidat. Tudd meg, ha van valamilyen javaslatod vagy kérdésed. Várjuk válaszodat a Free Support Forums oldalán.

Kapcsolódó cikk:

Introducing Aspose.Imaging Cloud V3