
Chúng tôi rất vui mừng thông báo về các tính năng mới được giới thiệu trong Aspose.Imaging Cloud API. Bây giờ nó hỗ trợ nguồn hình ảnh dựa trên website cho tìm kiếm hình ảnh ngược. Tính năng chỉnh sửa hình ảnh cũng khiến API này trở nên vượt trội. Chúng tôi đang liên tục làm việc và cải tiến để cung cấp cho bạn những giải pháp tốt nhất có thể.
Tìm kiếm hình ảnh ngược rất hữu ích cho việc tìm các hình ảnh trùng lặp hoặc tương tự. Nó cũng có thể giúp theo dõi nội dung khiêu dâm hoặc đồ họa. Bạn cũng có thể chống lại vi phạm bản quyền hoặc hàng giả nhãn hiệu bằng cách tìm kiếm các hình ảnh đã ký số với tìm kiếm ngược. Hơn nữa, chỉnh lại độ nghiêng hình ảnh là một tính năng khác mang lại giá trị cho Aspose.Imaging Cloud API. Tính năng này cũng liên quan đến các tài liệu PDF quét mà ở đó thường có những hình ảnh bị nghiêng. Những tài liệu PDF như vậy thường được chuyển đổi thành tài liệu PDF có thể tìm kiếm, nơi mà kết quả có thể được cải thiện bằng cách chỉnh lại độ nghiêng của hình ảnh. Hãy cùng khám phá những tính năng này dưới đây.
Tìm kiếm hình ảnh ngược bằng cách sử dụng Aspose.Imaging Cloud SDK cho Python
Nhiều SDK có sẵn để giao tiếp với Aspose.Imaging Cloud API. Các SDK sẽ xử lý tất cả các chi tiết nhỏ để bạn có thể tiến hành yêu cầu của mình một cách dễ dàng. Các SDK bao gồm .NET, Java, Python, PHP, Ruby, Android, và Node.js. Ở đây chúng ta sẽ làm việc với một ví dụ sử dụng Python:
Trước tiên, bạn cần một đăng ký miễn phí tại Aspose.Cloud. Cài đặt Python 2.7 hoặc phiên bản mới hơn và sau đó thêm gói PyPi sau vào requirements.txt của bạn.
aspose-imaging-cloud>=20.1
Bây giờ hãy nhập các phụ thuộc như dưới đây:
import aspose-imaging-cloud
Bây giờ, bạn có thể sử dụng mã Python dưới đây để gọi các API và kiểm tra tính năng:
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
# Thêm hình ảnh từ website vào ngữ cảnh tìm kiếm
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)
# Tải hình ảnh từ trang web
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)
# Thay đổi kích thước hình ảnh đã tải về để chứng minh khả năng của công cụ tìm kiếm
resized_image = self._imaging_api.create_resized_image(requests.CreateResizedImageRequest(
path, 600, 400, "jpg", storage=storage))
# Tải lên hình ảnh lên đám mây
image_name = 'ReverseSearch.jpg'
self._imaging_api.upload_file(requests.UploadFileRequest(ImagingAiBase.CLOUD_PATH + "/" + image_name,
resized_image, storage))
# Tìm kiếm hình ảnh tương tự trong ngữ cảnh tìm kiếm
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))
Nguồn hình ảnh dựa trên trang web cho tìm kiếm hình ảnh ngược được giải thích rõ ràng trong ví dụ này. Nó bao gồm một bước bổ sung là thay đổi kích thước hình ảnh để minh họa hiệu quả của API. Kích thước hình ảnh có thể khác nhau nhưng API sẽ tạo ra các kết quả đáng tin cậy và chính xác. Dưới đây là ảnh chụp màn hình của đầu ra:

Như bạn có thể thấy, số lượng hình ảnh tương tự, URL và tỷ lệ tương đồng được hiển thị bởi các tham số trong phản hồi API.
Hình ảnh Deskewing sử dụng Aspose.Imaging Cloud SDK cho .NET
Hình ảnh chứa rất nhiều thông tin và xử lý hình ảnh đã trở nên rất quan trọng trong những ngày này. Một trường hợp sử dụng rất phổ biến là hình ảnh bị nghiêng trong các tài liệu PDF được quét hoặc thường trong các hình ảnh từ camera của điện thoại di động. Aspose.Imaging Cloud API giờ đây đã bao gồm tính năng điều chỉnh độ nghiêng của hình ảnh. Bạn có thể điều chỉnh độ nghiêng của hình ảnh ở định dạng BMP, GIF, JPEG, JPEG2000, PSD, TIFF, WEBP và PNG. Hãy xem xét một ví dụ .NET để điều chỉnh độ nghiêng của một hình ảnh TIFF.
using System;
using System.IO;
using Aspose.Imaging.Cloud.Sdk.Api;
using Aspose.Imaging.Cloud.Sdk.Model.Requests;
namespace AsposeImagingCloudSdkExamples
{
/// <tóm tắt>
/// Ví dụ về chỉnh sửa độ nghiêng hình ảnh.
/// </summary>
/// <seealso cref="AsposeImagingCloudSDKExamples.ImagingBase" />
class DeskewImage : ImagingBase
{
/// <tóm tắt>
/// Khởi tạo một thể hiện mới của lớp <see cref=\"DeskewImage\"/>.
/// </summary>
/// <param name=\"imagingApi\">API hình ảnh.</param>
public DeskewImage(ImagingApi imagingApi) : base(imagingApi)
{
PrintHeader("Deskew image example:");
}
/// <tóm tắt>
/// Lấy tên của tệp hình ảnh ví dụ.
/// </summary>
/// <value>
/// Tên của tệp hình ảnh mẫu.
/// </value>
/// <remarks>
/// Định dạng đầu vào có thể là một trong các dạng sau:
/// BMP, GIF, JPEG, JPEG2000, PSD, TIFF, WEBP, PNG
/// </remarks>
protected override string SampleImageFileName => "Sample_05_Scan1_SkewToLeft.tif";
private const string SaveImageFormat = "tif";
/// <tóm tắt>
/// Deskews an image from a cloud storage.
/// </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();
}
/// <tóm tắt>
/// Xoá lệch một hình ảnh hiện có, và tải hình ảnh đã cập nhật lên một kho lưu trữ đám mây.
/// </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();
}
/// <tóm tắt>
/// Điều chỉnh độ nghiêng của hình ảnh. Dữ liệu hình ảnh được truyền qua một luồng yêu cầu.
/// </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();
}
}
}
Ví dụ này tải lên một hình ảnh mẫu đến Cloud Storage, chỉnh sửa góc nghiêng nó và tải lên hình ảnh đã cập nhật đến Cloud Storage. Dưới đây là các ảnh chụp màn hình của hình ảnh TIFF đầu vào và đầu ra.
Nhập hình ảnh TIFF

Xuất hình ảnh TIFF (Đã căn chỉnh)

Aspose.Imaging Cloud SDK cho Ruby
Một bổ sung quan trọng khác trong danh sách các SDK là chúng tôi đã công bố Aspose.Imaging Cloud SDK cho Ruby. Nó cho phép bạn tích hợp các tính năng xử lý hình ảnh mạnh mẽ vào các ứng dụng Ruby của bạn.
Chúng tôi khuyến khích bạn thử những tính năng hiệu quả này của API và chia sẻ trải nghiệm của bạn với chúng tôi. Hãy cho chúng tôi biết nếu bạn có bất kỳ gợi ý hoặc câu hỏi nào. Chúng tôi mong nhận được phản hồi từ bạn qua Free Support Forums.