חיפוש תמונה הפוך ותיקון תמונות משופעות בזמן אמת הוא אתגר נפוץ עבור מפתחים הבונים תכונות חיפוש חזותי. Aspose.CAD Cloud SDK for .NET מספקת ספרייה חזקה שמפשטת הן חיפוש תמונה הפוך והן תיקון הטייה של תמונות ב‑C#. במדריך זה תראו כיצד לתקן הטייה של קובץ PNG, לקרוא ל‑Bing Visual Search לצורך חיפוש הפוך, ולשלב את כל זרימת העבודה עם קוד תמציתי ודוגמאות cURL.

לפני שאתה מתחיל: דרישות מקדימות והתקנה

כדי לעקוב אחרי המדריך הזה אתה צריך:

  • .NET 6.0 או גרסה מאוחרת יותר ו‑IDE כגון Visual Studio 2022.
  • חשבון Aspose Cloud עם מפתח API וסוד לקוח.
  • גישה ל‑Bing Visual Search API (נדרש מפתח מנוי).
  • קובץ התמונה הקלט (input.png) ממוקם בתיקיית הפרויקט.

התקן את הספרייה באמצעות NuGet:

dotnet add package Aspose.cad-Cloud

הורידו את החבילה העדכנית מה-דף ההורדה. לאחר ההתקנה, תוכלו להתחיל לקודד את זרימת העבודה.

בנייה שלב אחר שלב: חיפוש תמונה הפוך ויישור תמונה ב-.NET

היישום מחולק לחמישה שלבים לוגיים. כל שלב מציג רק את הקוד הרלוונטי שנלקח מהדוגמה המלאה.

שלב 1: טען את תמונת המקור

קרא את קובץ ה-PNG למערך בתים וצור זרם זיכרון שהספרייה יכולה לצרוך.

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

שלב 2: הגדר את Aspose.CAD Cloud Library

צור אובייקט תצורה עם מפתח ה-API וכתובת הבסיס, ואז צור מופע של ImageApi.

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

לפרטים נוספים ראה את תיעוד API.

שלב 3: תיקון הטייה של התמונה באמצעות הספרייה

בנה DeskewImageRequest עם זרם התמונה וקרא לפעולת יישור.

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

שלב 4: שמירת התמונה המתוקנת

כתוב את מערך הבתים שהוחזר לקובץ חדש.

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

שלב 5: ביצוע חיפוש הפוך של תמונה באמצעות Bing Visual Search API

צור HttpClient, הוסף את כותרת מפתח המנוי, ושלח את התמונה המקורית ל‑Bing.

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

עם הצעדים האלה יש לך זרימת עבודה של חיפוש תמונה הפוכה ויישור תמונה ב‑C#.

דוגמה מלאה עובדת לחיפוש תמונה הפוך ואוטומציה של יישור תמונה

הדוגמה למטה מציגה כיצד לשלב את כל החלקים לתוך יישום קונסול יחיד.

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; }
    }
}

הערה: דוגמת קוד זו מדגימה את הפונקציונליות המרכזית. לפני השימוש בפרויקט שלך, ודא שאתה מעדכן את כל נתיבי הקבצים וערכי התצורה כך שיתאימו לסביבתך האמיתית, מאמת שכל התלויות הדרושות מותקנות כראוי, ובודק באופן יסודי בסביבת הפיתוח שלך. אם אתה נתקל בבעיות, אנא פנה לתיעוד הרשמי או פנה לצוות תמיכה לקבלת עזרה.

ביצוע הפעולות זהות באמצעות REST API באמצעות cURL

אם אתה מעדיף גישה טהורה של REST, ניתן לבצע את אותו זרימת עבודה עם פקודות cURL.

1. אימות וקבלת אסימון גישה

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. העלה את קובץ PNG המקור ובקש יישור

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. הפעל את Bing Visual Search לחיפוש הפוך של תמונה

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"

הפקודות האלה מבצעות את אותם הצעדים המוצגים בקוד C#, ומאפשרות לך לשלב את הפונקציונליות בכל סביבה שיכולה להריץ סקריפטים של Shell.

לפרמטרים נוספים ולפורמטים של תגובה, ראו את תיעוד ה‑API הרשמי.

סיכום

Implementing reverse image search and image Deskewing in C# becomes straightforward with the Aspose.CAD Cloud SDK for .NET. הספרייה מטפלת בקדם‑עיבוד של תמונות, בעוד Bing Visual Search מספקת יכולות חיפוש הפוך חזקות. על‑ידי ביצוע הצעדים שלמעלה תוכלו לבנות צינור חיפוש חזותי חזק המתקן קלטים מעוותים לפני השאילתה. זכרו לרכוש רישיון תקף לשימוש בייצור; פרטי התמחור זמינים בדף המוצר ואתם יכולים לקבל רישיון זמני מtemporary license page. With the code and cURL examples in hand, you’re ready to integrate this functionality into your applications.

שאלות נפוצות

  • מה משיג חיפוש תמונה הפוך ויישור תמונה ביישום C#?
    זה מאפשר לך לתקן באופן אוטומטי את הכיוון של תמונות שהועלו ולאחר מכן למצוא פריטים דומים חזותית באמצעות שירות חיפוש חיצוני, מה שמשפר את חוויית המשתמש ואת דיוק החיפוש.

  • האם ניתן להשתמש בספרייה עם פורמטים של תמונה אחרים מלבד PNG?
    כן, הספרייה תומכת בפורמטים רסטריים נפוצים כגון JPG ו-BMP. פשוט שנה את סיומת הקובץ בקוד.

  • האם עליי לארח שירותים כלשהם כדי להריץ קוד זה?
    לא, ה‑Aspose.CAD Cloud SDK for .NET הוא ספרייה מבוססת ענן, ולכן כל העיבוד מתבצע בשרתים של Aspose. אתה רק צריך חיבור לאינטרנט ופרטי אימות תקינים.

  • איך אני יכול להתמודד עם קבוצות גדולות של תמונות ביעילות?
    עבדו על תמונות באופן אסינכרוני, שמרו במטמון תוצאות תיקון הטייה, והשתמשו באותו אסימון גישה למספר קריאות API. זה מצמצם את זמן ההמתנה ואת העומס על ה-API.

קרא עוד