
Ми раді повідомити вам про нові можливості в Aspose.Imaging Cloud API. Тепер він підтримує веб-джерела зображень для реверсного пошуку зображень. Функція усунення похибок зображення також робить API неперевершеним. Ми постійно працюємо над вдосконаленням, щоб запропонувати вам найкращі можливі рішення.
Зворотний пошук зображень корисний для знаходження дублікатів або подібних зображень. Він також може допомогти контролювати непристойний або графічний контент. Ви також можете протидіяти порушенням авторських прав або підробкам торгових марок, шукаючи цифрові підписані зображення за допомогою зворотного пошуку. Більше того, виправлення нахилу зображення є ще однією функцією, яка додає цінності Aspose.Imaging Cloud API. Воно також актуальне для сканованих PDF-документів, де часто існують нахилені зображення. Такі PDF-документи часто конвертуються в searchable PDF-документи, де результати можуть бути поліпшені за рахунок виправлення нахилу зображень. Давайте
Пошук зворотного зображення за допомогою Aspose.Imaging Cloud SDK для Python
Декілька SDK доступні для спілкування з Aspose.Imaging Cloud API. SDK займаються всіма дрібними деталями, щоб ви могли продовжити свої вимоги без турбот. SDK включають .NET, Java, Python, PHP, Ruby, Android та Node.js. Тут ми будемо працювати з прикладом на Python:
По-перше, вам потрібно безкоштовно sign up на Aspose.Cloud. Встановіть Python 2.7 or later, а потім додайте наступний PyPi package до вашого requirements.txt.
aspose-imaging-cloud>=20.1
Тепер імпортуйте залежності, як зазначено нижче:
import aspose-imaging-cloud
Тепер ви можете використовувати наведен код Python, щоб викликати API та протестувати цю функцію:
def search_image_from_web_source(self):
"""Finds the similar images from the URL source"""
print('Finds similar images from URL:')
similarity_threshold = 30.0
max_count = 3
folder = ImagingAiBase.CLOUD_PATH # Folder with image to process
storage = None # We are using default Cloud Storage
# Додайте зображення з веб-сайту до контексту пошуку
image_source_url = urllib.quote_plus('https://www.f1news.ru/interview/hamilton/140909.shtml')
self._imaging_api.create_web_site_image_features(
requests.CreateWebSiteImageFeaturesRequest(self._search_context_id, image_source_url, folder, storage))
self._wait_idle(self._search_context_id)
# Завантажте зображення з веб-сайту
image_data = req.get('https://cdn.f1ne.ws/userfiles/hamilton/140909.jpg')
path = os.path.abspath(os.path.join(ImagingAiBase.OUTPUT_FOLDER, 'WebSearchSample.jpg'))
with open(path, "wb") as f:
f.write(image_data.content)
# Змініть розмір завантаженого зображення, щоб продемонструвати можливості пошукової системи.
resized_image = self._imaging_api.create_resized_image(requests.CreateResizedImageRequest(
path, 600, 400, "jpg", storage=storage))
# Завантажити зображення в хмару
image_name = 'ReverseSearch.jpg'
self._imaging_api.upload_file(requests.UploadFileRequest(ImagingAiBase.CLOUD_PATH + "/" + image_name,
resized_image, storage))
# Знайти подібні зображення в контексті пошуку
find_response = self._imaging_api.find_similar_images(
requests.FindSimilarImagesRequest(self._search_context_id, similarity_threshold, max_count,
image_id=ImagingAiBase.CLOUD_PATH + "/" + image_name,
folder=folder, storage=storage))
print('Similar images found: ' + str(len(find_response.results)))
print('Similar image id: ' + find_response.results[0].image_id)
print('Similarity: ' + str(find_response.results[0].similarity))
Веб-сайт, що є джерелом зображень для зворотного пошуку зображень, добре описано в цьому прикладі. Він включає додатковий етап зміни розміру зображення, щоб продемонструвати ефективність API. Розміри зображення можуть відрізнятися, але API забезпечить надійні та точні результати. Нижче наведено скріншот виходу:

Як ви можете помітити, що кількість подібних зображень, URL та відсоток схожості показані параметрами у відповіді API.
Обробка зображень за допомогою Aspose.Imaging Cloud SDK для .NET
Зображення містять багато інформації, і обробка зображень набула великого значення в наш час. Дуже поширеним випадком є викривлені зображення в відсканованих PDF-документах або часто в зображеннях з камер мобільних телефонів. Aspose.Imaging Cloud API тепер включає функцію вирівнювання зображень. Ви можете вирівнювати зображення у форматах BMP, GIF, JPEG, JPEG2000, PSD, TIFF, WEBP та PNG. Розглянемо приклад на .NET для вирівнювання TIFF-зображення.
using System;
using System.IO;
using Aspose.Imaging.Cloud.Sdk.Api;
using Aspose.Imaging.Cloud.Sdk.Model.Requests;
namespace AsposeImagingCloudSdkExamples
{
/// <summary>
/// Приклад вирівнювання зображення.
/// </summary>
/// <seealso cref=\"AsposeImagingCloudSDKExamples.ImagingBase\" />
class DeskewImage : ImagingBase
{
/// <summary>
/// Ініціалізує новий екземпляр класу <see cref=\"DeskewImage\"/>.
/// </summary>
/// <param name=\"imagingApi\">Інтерфейс програмування зображень.</param>
public DeskewImage(ImagingApi imagingApi) : base(imagingApi)
{
PrintHeader("Deskew image example:");
}
/// <summary>
/// Отримує назву файлу прикладу зображення.
/// </summary>
/// <value>
/// Назва файлу зображення прикладу.
/// </value>
/// <remarks>
/// Формати введення можуть бути одним з наступних:
/// BMP, GIF, JPEG, JPEG2000, PSD, TIFF, WEBP, PNG
/// </remarks>
protected override string SampleImageFileName => "Sample_05_Scan1_SkewToLeft.tif";
private const string SaveImageFormat = "tif";
/// <summary>
/// Виправляє нахил зображення з хмарного сховища.
/// </summary>
public void DeskewImageFromStorage()
{
Console.WriteLine("Deskew the image from cloud storage");
UploadSampleImageToCloud();
bool resizeProportionally = true;
string bkColor = "white";
string folder = CloudPath; // Input file is saved at the Examples folder in the storage
string storage = null; // We are using default Cloud Storage
var request = new DeskewImageRequest(SampleImageFileName, resizeProportionally, bkColor, folder, storage);
Console.WriteLine($"Call DeskewImage with params: resizeProportionally:{resizeProportionally}, bkColor:{bkColor}");
using (Stream updatedImage = this.ImagingApi.DeskewImage(request))
{
SaveUpdatedSampleImageToOutput(updatedImage, false, SaveImageFormat);
}
Console.WriteLine();
}
/// <summary>
/// Виправте нахил існуючого зображення та завантажте оновлене зображення в хмарне сховище.
/// </summary>
public void DeskewImageAndUploadToStorage()
{
Console.WriteLine("Deskews the image and upload to cloud storage");
UploadSampleImageToCloud();
bool resizeProportionally = true;
string bkColor = null;
string folder = CloudPath; // Input file is saved at the Examples folder in the storage
string storage = null; // We are using default Cloud Storage
var request = new DeskewImageRequest(SampleImageFileName, resizeProportionally, bkColor, folder, storage);
Console.WriteLine($"Call DeskewImage with params: resizeProportionally:{resizeProportionally}, bkColor:{bkColor}");
using (Stream updatedImage = this.ImagingApi.DeskewImage(request))
{
UploadImageToCloud(GetModifiedSampleImageFileName(false, SaveImageFormat), updatedImage);
}
Console.WriteLine();
}
/// <summary>
/// Вирівнює зображення. Дані зображення передаються в потоці запиту.
/// </summary>
public void CreateDeskewedImageFromRequestBody()
{
Console.WriteLine("Deskews the image from request body");
using (FileStream inputImageStream = File.OpenRead(Path.Combine(ExampleImagesFolder, SampleImageFileName)))
{
bool resizeProportionally = true;
string bkColor = "white";
string storage = null; // We are using default Cloud Storage
string outPath = null; // Path to updated file (if this is empty, response contains streamed image)
var request = new CreateDeskewedImageRequest(inputImageStream, resizeProportionally, bkColor, outPath, storage);
Console.WriteLine($"Call DeskewImage with params: resizeProportionally:{resizeProportionally}, bkColor:{bkColor}");
using (Stream updatedImage = this.ImagingApi.CreateDeskewedImage(request))
{
SaveUpdatedSampleImageToOutput(updatedImage, true, SaveImageFormat);
}
}
Console.WriteLine();
}
}
}
Цей приклад завантажує зразкове зображення до Cloud Storage, виправляє його нахил і завантажує оновлене зображення до Cloud Storage. Нижче наведені скріншоти вхідних та вихідних TIFF зображень.
Input TIFF Image

Вивід TIFF зображення (виправлене)

Aspose.Imaging Cloud SDK для Ruby
Ще одним важливим доповненням до лінійки SDK є те, що ми опублікували Aspose.Imaging Cloud SDK для Ruby. Він дозволяє інтегрувати надійні можливості обробки зображень у ваші Ruby-додатки.
Ми заохочуємо вас спробувати ці ефективні функції API та поділитися своїм досвідом з нами. Дайте нам знати, якщо у вас є будь-які пропозиції або запитання. Ми чекаємо на вашу відповідь через Free Support Forums.