Fordított képkeresés és a ferde képek valós időben történő korrigálása gyakori kihívás a vizuális keresési funkciókat építő fejlesztők számára. Aspose.CAD Cloud SDK for .NET egy erőteljes könyvtárat biztosít, amely egyszerűsíti a fordított képkeresést és a képek deskewelését C#-ban. Ebben az útmutatóban megmutatjuk, hogyan deskeweljünk egy PNG fájlt, hogyan hívjuk a Bing Visual Search-et fordított kereséshez, és hogyan integráljuk az egész munkafolyamatot tömör kóddal és cURL példákkal.

Kezdés előtt: Előkövetelmények és telepítés

A tutorial követéséhez a következőkre van szüksége:

  • .NET 6.0 vagy újabb, valamint egy IDE, például a Visual Studio 2022.
  • Aspose Cloud fiók API‑kulccsal és ügyfél‑titokkal.
  • Hozzáférés a Bing Visual Search API‑hoz (előfizetési kulcs szükséges).
  • A bemeneti képfájl (input.png) a projekt mappájában elhelyezve.

Telepítse a könyvtárat a NuGet-en keresztül:

dotnet add package Aspose.cad-Cloud

Töltse le a legújabb csomagot a letöltési oldalról. A telepítés után elkezdheti a munkafolyamat kódolását.

Lépésről lépésre felépítve: Fordított képkeresés és kép kiegyenesítése .NET-ben

A megvalósítás öt logikai lépésre van bontva. Minden lépés csak a teljes példából kivont releváns kódot mutatja.

1. lépés: A forráskép betöltése

Olvassa be a PNG fájlt egy bájt tömbbe, és hozzon létre egy memóriastream-et, amelyet a könyvtár fel tud használni.

string inputImagePath = "input.png";
byte[] inputBytes = File.ReadAllBytes(inputImagePath);
using var inputStream = new MemoryStream(inputBytes);

2. lépés: Az Aspose.CAD Cloud Library konfigurálása

Hozzon létre egy konfigurációs objektumot az API‑kulcsával és az alap‑URL‑lel, majd példányosítsa az ImageApi‑t.

var config = new Configuration
{
    ApiKey = "YOUR_ASPOSE_CAD_CLOUD_API_KEY",
    BasePath = "https://api.aspose.cloud"
};
var imageApi = new ImageApi(config);

További részletekért lásd az API hivatkozás.

3. lépés: A kép kiegyenesítése a könyvtár használatával

Hozzon létre egy DeskewImageRequest-et a képadatfolyammal, és hívja meg a dőlésszabályozási műveletet.

var deskewRequest = new DeskewImageRequest
{
    ImageData = inputStream
    // Optional: Angle, BackgroundColor can be set here
};
byte[] deskewedBytes = await imageApi.PostImageDeskewAsync(deskewRequest);

4. lépés: A ferde korrigált kép mentése

Írja a visszakapott bájt tömböt egy új fájlba.

string deskewedImagePath = "deskewed.png";
File.WriteAllBytes(deskewedImagePath, deskewedBytes);
Console.WriteLine($"Deskewed image saved to {deskewedImagePath}");

5. lépés: Fordított képkeresés végrehajtása a Bing Visual Search API-n keresztül

Hozzon létre egy HttpClient-et, adja hozzá az előfizetési kulcs fejléce‑t, és küldje el az eredeti képet a Bingnek.

string bingSubscriptionKey = "YOUR_BING_VISUAL_SEARCH_SUBSCRIPTION_KEY";
string bingEndpoint = "https://api.bing.microsoft.com/v7.0/images/visualsearch";

using var httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", bingSubscriptionKey);

using var multipartContent = new MultipartFormDataContent();
var imageContent = new ByteArrayContent(inputBytes);
imageContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/octet-stream");
multipartContent.Add(imageContent, "image", Path.GetFileName(inputImagePath));

HttpResponseMessage response = await httpClient.PostAsync(bingEndpoint, multipartContent);
string jsonResult = await response.Content.ReadAsStringAsync();

Console.WriteLine("Reverse Image Search Result:");
Console.WriteLine(jsonResult);

Ezekkel a lépésekkel teljes fordított képkeresési és kép kiegyenesítési munkafolyamatot hozhat létre C#-ban.

Teljesen működő példa a fordított képkereséshez és a kép kiegyenesítés automatizálásához

Az alábbi példa bemutatja, hogyan lehet az összes részt egyetlen konzolos alkalmazásba egyesíteni.

using System;
using System.IO;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
using Aspose.CAD.Cloud.Sdk.Api;
using Aspose.CAD.Cloud.Sdk.Client;
using Aspose.CAD.Cloud.Sdk.Model;

namespace ReverseImageSearchDeskew
{
    class Program
    {
        static async Task Main(string[] args)
        {
            // Aspose.CAD Cloud configuration
            var config = new Configuration
            {
                ApiKey = "YOUR_ASPOSE_CAD_CLOUD_API_KEY",
                BasePath = "https://api.aspose.cloud"
            };
            var imageApi = new ImageApi(config);

// File paths
            string inputImagePath = "input.png";
            string deskewedImagePath = "deskewed.png";

// Load input image
            byte[] inputBytes = File.ReadAllBytes(inputImagePath);
            using var inputStream = new MemoryStream(inputBytes);

// Deskew the image using Aspose.CAD Cloud
            var deskewRequest = new DeskewImageRequest
            {
                ImageData = inputStream
                // Additional optional parameters (e.g., Angle, BackgroundColor) can be set here
            };
            byte[] deskewedBytes = await imageApi.PostImageDeskewAsync(deskewRequest);
            File.WriteAllBytes(deskewedImagePath, deskewedBytes);
            Console.WriteLine($"Deskewed image saved to {deskewedImagePath}");

// Reverse image search using Bing Visual Search API
            string bingSubscriptionKey = "YOUR_BING_VISUAL_SEARCH_SUBSCRIPTION_KEY";
            string bingEndpoint = "https://api.bing.microsoft.com/v7.0/images/visualsearch";

using var httpClient = new HttpClient();
            httpClient.DefaultRequestHeaders.Add("Ocp-Apim-Subscription-Key", bingSubscriptionKey);

using var multipartContent = new MultipartFormDataContent();
            var imageContent = new ByteArrayContent(inputBytes);
            imageContent.Headers.ContentType = MediaTypeHeaderValue.Parse("application/octet-stream");
            multipartContent.Add(imageContent, "image", Path.GetFileName(inputImagePath));

HttpResponseMessage response = await httpClient.PostAsync(bingEndpoint, multipartContent);
            string jsonResult = await response.Content.ReadAsStringAsync();

Console.WriteLine("Reverse Image Search Result:");
            Console.WriteLine(jsonResult);
        }
    }

// Request model for deskew operation (matches Aspose.CAD Cloud SDK expectations)
    public class DeskewImageRequest
    {
        public Stream ImageData { get; set; }
        // Optional: public double? Angle { get; set; }
        // Optional: public string BackgroundColor { get; set; }
    }
}

Megjegyzés: Ez a kódrészlet a fő funkciót mutatja be. Mielőtt a projektjében használná, győződjön meg arról, hogy frissítette a fájl útvonalakat és a konfigurációs értékeket a tényleges környezetnek megfelelően, ellenőrizze, hogy minden szükséges függőség megfelelően telepítve van, és alaposan tesztelje a fejlesztői környezetben. Ha problémákba ütközik, kérjük, tekintse meg a hivatalos dokumentációt vagy lépjen kapcsolatba a támogatói csapattal segítségért.

Ugyanazon műveletek végrehajtása REST API-n keresztül cURL használatával

Ha inkább tiszta REST megközelítést részesít előnyben, ugyanaz a munkafolyamat végrehajtható cURL parancsokkal.

1. Hitelesítsen és szerezzen hozzáférési tokent

curl -X POST "https://api.aspose.cloud/connect/token" \
     -d "grant_type=client_credentials&client_id=YOUR_CLIENT_ID&client_secret=YOUR_CLIENT_SECRET"

2. Töltse fel a forrás PNG-t és kérje a dőlés korrigálását

curl -X PUT "https://api.aspose.cloud/v3.0/cad/deskew" \
     -H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
     -H "Content-Type: application/octet-stream" \
     --data-binary @input.png \
     -o deskewed.png

3. Hívja meg a Bing Visual Search-t a fordított képkereséshez

curl -X POST "https://api.bing.microsoft.com/v7.0/images/visualsearch" \
     -H "Ocp-Apim-Subscription-Key: YOUR_BING_VISUAL_SEARCH_SUBSCRIPTION_KEY" \
     -F "image=@input.png;type=application/octet-stream"

Ezek a parancsok ugyanazokat a lépéseket hajtják végre, mint a C# kódban látható, lehetővé téve, hogy a funkcionalitást bármely, shell szkripteket képes végrehajtó környezetbe integráld.

További paraméterek és válaszformátumok tekintetében lásd a hivatalos API dokumentációt.

Következtetés

Az fordított képkeresés és a képek kiegyenesítése C#‑ban egyszerűvé válik az Aspose.CAD Cloud SDK for .NET segítségével. A könyvtár kezeli a képek előfeldolgozását, míg a Bing Visual Search erőteljes fordított keresési képességeket biztosít. A fenti lépések követésével felépíthet egy robusztus vizuális keresési csővezetéket, amely a lekérdezés előtt korrigálja a ferde bemeneteket. Ne feledje, hogy a termeléshez érvényes licencet kell beszerezni; az árak részletei a termékoldalon érhetők el, és ideiglenes licencet a ideiglenes licenc oldal oldalról szerezhet be. A kóddal és a cURL példákkal felvértezve készen áll, hogy beépítse ezt a funkciót alkalmazásaiba.

GYIK

  • Miért hasznos a fordított képkeresés és a kép kiegyenesítése egy C# alkalmazásban?
    Lehetővé teszi a feltöltött képek tájolásának automatikus javítását, majd egy külső keresőszolgáltatás segítségével vizuálisan hasonló elemek megtalálását, javítva ezzel a felhasználói élményt és a keresés pontosságát.

  • Használhatom a könyvtárat más képformátumokkal is a PNG-en kívül?
    Igen, a könyvtár támogatja a gyakori raszteres formátumokat, például a JPG és a BMP formátumokat. Csak módosítsa a fájl kiterjesztését a kódban.

  • Szükséges-e bármilyen szolgáltatást hosztolni a kód futtatásához?
    Nem, az Aspose.CAD Cloud SDK for .NET egy felhőalapú könyvtár, így minden feldolgozás az Aspose szerverein történik. Csak internetkapcsolatra és érvényes hitelesítő adatokra van szükség.

  • Hogyan kezelhetem hatékonyan a nagy mennyiségű képeket?
    Feldolgozza a képeket aszinkron módon, gyorsítótárazza a kiegyenesített eredményeket, és újra felhasználja ugyanazt a hozzáférési tokent több API híváshoz. Ez csökkenti a késleltetést és az API terhelést.

További információk