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.