Reverse image search ve eğik resimleri anında düzeltmek, görsel arama özellikleri geliştiren geliştiriciler için yaygın bir zorluktur. Aspose.CAD Cloud SDK for .NET hem tersten görsel aramayı hem de C# içinde görüntü Deskewing’i basitleştiren güçlü bir kütüphane sağlar. Bu rehberde bir PNG dosyasını nasıl düzeltileceğini, tersten arama için Bing Visual Search’i nasıl çağıracağınızı ve tüm iş akışını özlü kod ve cURL örnekleriyle nasıl entegre edeceğinizi göreceksiniz.

Başlamadan Önce: Önkoşullar ve Kurulum

Bu öğreticiyi takip etmek için şunlara ihtiyacınız var:

  • .NET 6.0 veya üzeri ve Visual Studio 2022 gibi bir IDE.
  • API anahtarı ve istemci gizli anahtarı olan bir Aspose Cloud hesabı.
  • Bing Visual Search API’ye erişim (abonelik anahtarı gereklidir).
  • Proje klasörüne yerleştirilmiş giriş görüntü dosyası (input.png).

Kütüphaneyi NuGet üzerinden yükleyin:

dotnet add package Aspose.cad-Cloud

En son paketi indirme sayfasından indirin. Kurulumdan sonra, iş akışını kodlamaya başlayabilirsiniz.

Adım Adım Oluşturma: Ters Görüntü Arama ve Görüntü Düzleştirme .NET’te

Uygulama beş mantıksal adıma bölünmüştür. Her adım, tam örnekten çıkarılan yalnızca ilgili kodu gösterir.

Adım 1: Kaynak Görüntüyü Yükleyin

PNG dosyasını bir bayt dizisine okuyun ve kütüphanenin tüketebileceği bir bellek akışı oluşturun.

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

Adım 2: Aspose.CAD Cloud Kütüphanesini Yapılandırın

API anahtarınız ve temel URL’niz ile bir yapılandırma nesnesi oluşturun, ardından ImageApi‘yi örnekleyin.

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

Daha fazla ayrıntı için API referansı.

Adım 3: Kütüphane Kullanarak Görüntünün Eğriliğini Düzelt

Görüntü akışıyla bir DeskewImageRequest oluşturun ve eğrilik düzeltme işlemini çağırın.

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

Adım 4: Eğikliği Düzeltmiş Görüntüyü Kaydet

Dönen bayt dizisini yeni bir dosyaya yazın.

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

Adım 5: Bing Görsel Arama API’si aracılığıyla Ters Görsel Arama yapın

Bir HttpClient oluşturun, abonelik anahtarı başlığını ekleyin ve orijinal resmi Bing’e gönderin.

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

Bu adımlarla C#’ta tam bir ters görüntü arama ve görüntü Deskewing iş akışına sahipsiniz.

Ters Görüntü Arama ve Görüntü Düzleştirme Otomasyonu için Tam Çalışan Örnek

Aşağıdaki örnek, tüm parçaları tek bir konsol uygulamasında birleştirmenin nasıl yapılacağını gösterir.

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

Not: Bu kod örneği temel işlevselliği gösterir. Projenizde kullanmadan önce, tüm dosya yollarını ve yapılandırma değerlerini gerçek ortamınıza uygun şekilde güncellediğinizden, tüm gerekli bağımlılıkların doğru şekilde yüklendiğinden emin olun ve geliştirme ortamınızda kapsamlı bir şekilde test edin. Herhangi bir sorunla karşılaşırsanız, lütfen resmi belgeler adresine bakın veya destek ekibi ile iletişime geçin.

cURL Kullanarak REST API Üzerinden Aynı İşlemleri Gerçekleştirme

Saf bir REST yaklaşımını tercih ediyorsanız, aynı iş akışı cURL komutlarıyla yürütülebilir.

1. Kimlik doğrulaması yapın ve bir erişim belirteci alın

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. Kaynak PNG’yi yükleyin ve eğrilik düzeltme isteyin

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. Ters görsel arama için Bing Visual Search’i çağırın

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"

Bu komutlar, C# kodunda gösterilen aynı adımları gerçekleştirir ve işlevselliği, kabuk betiklerini çalıştırabilen herhangi bir ortama entegre etmenizi sağlar.

Ek parametreler ve yanıt formatları için, resmi API belgelerine bakın.

Sonuç

Implementing reverse image search ve image Deskewing’i C#’ta Aspose.CAD Cloud SDK for .NET ile uygulamak oldukça basittir. Kütüphane görüntü ön işleme işlemlerini yönetirken, Bing Visual Search güçlü ters arama yetenekleri sağlar. Yukarıdaki adımları izleyerek, sorgulama yapmadan önce eğik girişleri düzelten sağlam bir görsel arama hattı oluşturabilirsiniz. Üretim kullanımı için geçerli bir lisans almayı unutmayın; fiyatlandırma detayları ürün sayfasında mevcuttur ve geçici bir lisansı geçici lisans sayfasından edinebilirsiniz. Kod ve cURL örneklerine sahip olduğunuzda, bu işlevi uygulamalarınıza entegre etmeye hazırsınız.

SSS

  • C# uygulamasında ters görüntü arama ve görüntü Deskewing ne sağlar?
    Yüklenen resimlerin yönünü otomatik olarak düzeltmenizi ve ardından harici bir arama hizmeti kullanarak görsel olarak benzer öğeleri bulmanızı sağlar; bu da kullanıcı deneyimini ve arama doğruluğunu artırır.

  • Kütüphaneyi PNG dışındaki diğer görüntü formatlarıyla kullanabilir miyim?
    Evet, kütüphane JPG ve BMP gibi yaygın raster formatlarını destekler. Kodda dosya uzantısını değiştirmeniz yeterlidir.

  • Bu kodu çalıştırmak için herhangi bir hizmet barındırmam gerekiyor mu?
    Hayır, Aspose.CAD Cloud SDK for .NET, bulut‑tabanlı bir kütüphanedir, bu yüzden tüm işleme Aspose sunucularında gerçekleşir. Sadece internet bağlantısına ve geçerli kimlik bilgilerine ihtiyacınız var.

  • Büyük miktarda görüntüyü verimli bir şekilde nasıl işleyebilirim?
    Görüntüleri eşzamansız olarak işleyin, eğriltme sonuçlarını önbelleğe alın ve birden fazla API çağrısı için aynı erişim belirtecini yeniden kullanın. Bu, gecikmeyi ve API yükünü azaltır.

Daha Fazla Oku