시각 검색 기능을 구축하는 개발자에게 역 이미지 검색 및 기울어진 이미지를 실시간으로 교정하는 것은 흔한 과제입니다. Aspose.CAD Cloud SDK for .NET은 C#에서 역 이미지 검색과 이미지 Deskewing을 모두 간소화하는 강력한 라이브러리를 제공합니다. 이 가이드에서는 PNG를 어떻게 Deskew하고, Bing Visual Search를 호출하여 역 조회를 수행하며, 간결한 코드와 cURL 예제를 통해 전체 워크플로를 통합하는 방법을 보여줍니다.
시작하기 전에: 전제 조건 및 설치
이 튜토리얼을 따라하려면 다음이 필요합니다:
- .NET 6.0 이상 및 Visual Studio 2022와 같은 IDE.
- API 키와 클라이언트 시크릿이 포함된 Aspose Cloud 계정.
- Bing Visual Search API에 대한 액세스(구독 키 필요).
- 프로젝트 폴더에 배치된 입력 이미지 파일(
input.png).
NuGet을 통해 라이브러리를 설치합니다:
dotnet add package Aspose.cad-Cloud
최신 패키지를 다운로드 페이지에서 다운로드하십시오. 설치 후, 워크플로우 코딩을 시작할 수 있습니다.
단계별 구축: 역 이미지 검색 및 이미지 기울기 보정 in .NET
구현은 다섯 개의 논리적 단계로 나뉩니다. 각 단계는 전체 예제에서 추출한 관련 코드만 보여줍니다.
1단계: 원본 이미지 로드
PNG 파일을 바이트 배열로 읽고 라이브러리가 사용할 수 있는 메모리 스트림을 생성합니다.
string inputImagePath = "input.png";
byte[] inputBytes = File.ReadAllBytes(inputImagePath);
using var inputStream = new MemoryStream(inputBytes);
단계 2: Aspose.CAD 클라우드 라이브러리 구성
API 키와 기본 URL을 사용하여 구성 객체를 만든 다음 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에 POST합니다.
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#에서 완전한 역 이미지 검색 및 이미지 Deskewing 워크플로를 수행할 수 있습니다.
역 이미지 검색 및 이미지 디스큐잉 자동화를 위한 전체 작업 예제
아래 예제는 모든 조각을 하나의 콘솔 애플리케이션으로 결합하는 방법을 보여줍니다.
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; }
}
}
참고: 이 코드 예제는 핵심 기능을 보여줍니다. 프로젝트에 사용하기 전에 파일 경로와 구성 값을 실제 환경에 맞게 업데이트하고, 모든 필수 종속성이 올바르게 설치되었는지 확인하며, 개발 환경에서 충분히 테스트하십시오. 문제가 발생하면 공식 문서를 참조하거나 지원 팀에게 문의하십시오.
cURL을 사용한 REST API를 통한 동일 작업 수행
순수 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# 코드에 표시된 동일한 단계를 수행하므로 셸 스크립트를 실행할 수 있는 모든 환경에 기능을 통합할 수 있습니다.
추가 매개변수 및 응답 형식에 대해서는 공식 API 문서를 참조하십시오.
결론
C#에서 역 이미지 검색 및 이미지 Deskewing을 구현하는 것이 Aspose.CAD Cloud SDK for .NET를 사용하면 간단해집니다. 이 라이브러리는 이미지 전처리를 담당하고, Bing Visual Search는 강력한 역검색 기능을 제공합니다. 위 단계들을 따라 하면 쿼리하기 전에 왜곡된 입력을 보정하는 견고한 비주얼 검색 파이프라인을 구축할 수 있습니다. 프로덕션 사용을 위해 유효한 라이선스를 획득해야 함을 기억하세요; 가격 세부 정보는 제품 페이지에서 확인할 수 있으며, 임시 라이선스 페이지에서 임시 라이선스를 얻을 수 있습니다. 코드와 cURL 예제가 준비되면, 이제 이 기능을 애플리케이션에 통합할 준비가 된 것입니다.
자주 묻는 질문
-
C# 애플리케이션에서 역 이미지 검색 및 이미지 Deskewing은 무엇을 달성합니까?
업로드된 사진의 방향을 자동으로 교정한 다음 외부 검색 서비스를 사용하여 시각적으로 유사한 항목을 찾아 사용자 경험과 검색 정확성을 향상시킵니다. -
PNG 외에 다른 이미지 형식을 라이브러리와 함께 사용할 수 있나요?
네, 라이브러리는 JPG 및 BMP와 같은 일반 래스터 형식을 지원합니다. 코드에서 파일 확장자를 변경하기만 하면 됩니다. -
코드를 실행하기 위해 서비스를 호스팅해야 하나요?
아니요, Aspose.CAD Cloud SDK for .NET은 클라우드 기반 라이브러리이므로 모든 처리는 Aspose 서버에서 수행됩니다. 인터넷 연결과 유효한 자격 증명만 있으면 됩니다. -
대량의 이미지를 효율적으로 처리하려면 어떻게 해야 하나요?
이미지를 비동기적으로 처리하고, 디스크웨이 결과를 캐시하며, 여러 API 호출에 동일한 액세스 토큰을 재사용하십시오. 이렇게 하면 지연 시간과 API 오버헤드가 감소합니다.