A fordított képkeresés egy olyan technika, amely segít a vizuálisan hasonló képek keresésében a mintakép alapján. A fordított képkereső alkalmazásának számos felhasználási esete lehet. A leggyakoribb használati esetek a következők:
- Keressen ismétlődő képet, és távolítsa el a másolatokat
- Hasonló képek keresése
- Nem megfelelő tartalom keresése
- Keressen digitálisan aláírt képeket
Reverse Image Search API
A fordított képkeresési technikákon alapuló képkereséshez számos alkalmazás áll rendelkezésre. Ha azonban REST API-megoldást keres a fordított képkereséshez, akkor jó helyen jár. Az Aspose.Imaging Cloud hatékony keresőmotort biztosít, amely segít a fejlesztőknek, hogy bármilyen platformon zökkenőmentesen hozzáadhassanak fordított képkeresési funkciókat az alkalmazásaikhoz. Összehasonlítja a legalább egy képet tartalmazó forrásképkészletet több más képpel. Az összehasonlítás eredményeként megkapja a leginkább hasonló képek listáját a következő feltételek szerint:
- A hasonlóság mértéke
- A hasonlóság minimális küszöbe
- Összehasonlítás algoritmusa
Jelenleg az Aspose.Imaging Cloud keresőmotor támogatja a tartalomalapú képkeresést, a duplikált képkeresést, a képkeresést egyéni regisztrált címkék alapján, a kép-összehasonlítást és a hasonlóság-észlelést, valamint a képjellemzők kinyerési műveleteit.
Itt egy gyors áttekintést adunk arról, hogy az Aspose.Imaging Cloud REST API használatával duplikált képeket találhat. Azonban az Aspose.Imaging Cloud dokumentációjában megtekintheti a szolgáltatások teljes listáját és részleteit.
Hogyan kereshetek duplikált képeket?
Duplikált képérzékelés, ez a fordított képkereső legáltalánosabb használata. Sok ügyfélnek úgy kell rendeznie fotókönyvtárát, hogy hasonló fotókat keres, és hagy egy vagy több felvételt, míg a többit törli.
Megmutatjuk, milyen könnyen találhat ismétlődő képeket az Aspose.Imaging Cloud API segítségével. A példában az AKAZE algoritmust használjuk a jellemzők észleléséhez és a RandomBinaryTree algoritmust a jellemzők egyeztetéséhez. Az alábbi lépéseket követjük az ismétlődő képek megkereséséhez:
- Töltse fel a forrásképeket a tárhelyre
- Hozzon létre keresési kontextust
- Képjellemzők kibontása
- Keressen ismétlődő képeket
Töltsön fel képeket a tárhelyre
// Töltsön fel bemeneti képeket a Cloud Storage szolgáltatásba
DirectoryInfo dir = new DirectoryInfo(PathToDataFiles);
FileInfo[] images = dir.GetFiles();
foreach (FileInfo image in images)
{
// Helyi kép feltöltése a Cloud Storage szolgáltatásba
using (FileStream localInputImage = System.IO.File.OpenRead(image.FullName))
{
var uploadFileRequest = new UploadFileRequest(image.Name, localInputImage);
FilesUploadResult result = imagingApi.UploadFile(uploadFileRequest);
}
}
Hozzon létre keresési kontextust
// Hozzon létre új keresési kontextust
string searchContextId = CreateImageSearch();
////////////////
public static string CreateImageSearch()
{
string detector = "akaze";
string matchingAlgorithm = "randomBinaryTree";
string folder = null; // File will be saved at the root of the storage
string storage = null; // We are using default Cloud Storage
CreateImageSearchRequest createSearchContextRequest = new CreateImageSearchRequest(detector,matchingAlgorithm, folder, storage);
SearchContextStatus status = imagingApi.CreateImageSearch(createSearchContextRequest);
return status.Id;
}
Kép jellemzőinek kibontása
// képek kivonat funkciói
foreach (FileInfo image in images)
{
CreateImageFeatures(image.Name, false, searchContextId);
}
/////////////////////
// Bontsa ki a képek jellemzőit, és adja hozzá őket a keresési kontextushoz.
public static void CreateImageFeatures(string storageSourcePath, bool isFolder, string searchContextId)
{
var request = isFolder
? new CreateImageFeaturesRequest(searchContextId, imageId: null, imagesFolder: storageSourcePath, storage: null)
: new CreateImageFeaturesRequest(searchContextId, imageId: storageSourcePath, storage: null);
imagingApi.CreateImageFeatures(request);
}
Keressen ismétlődő képeket
// Ismétlődő képek keresése
double? similarityThreshold = 80; // The similarity threshold
string folder = null; // Path to input files
string storage = null; // We are using default Cloud Storage
ImageDuplicatesSet imageDuplicatesSet = imagingApi.FindImageDuplicates(new FindImageDuplicatesRequest(searchContextId, similarityThreshold, folder, storage));
Console.WriteLine("Duplicates Set Count: " + imageDuplicatesSet.Duplicates.Count);
// folyamat duplikálja a keresési eredményeket
foreach (var duplicates in imageDuplicatesSet.Duplicates)
{
Console.WriteLine("Duplicates:");
foreach (var duplicate in duplicates.DuplicateImages)
{
Console.WriteLine(
$"ImageName: {duplicate.ImageId}, Similarity: {duplicate.Similarity}");
}
Következtetés
Ebben a bejegyzésben megismerkedtünk az Aspose.Imaging Cloud duplikált képfelismerési képességeivel. Láttuk a kódmintákat és a funkció alkalmazásában való megvalósításának részleteit. Eközben, ha kérdése van, vagy további segítségre van szüksége, kérjük, írjon nekünk megjegyzést alább, vagy tegyen fel kérdést az ingyenes támogatási fórumon. Segít nekünk API-nk folyamatos fejlesztésében és finomításában.
Ha többet szeretne megtudni az Aspose.Imaging Cloudról egy ingyenes próbaverzió használatával, csak regisztrálnia kell az aspose.cloud oldalon. A regisztráció után áttekintheti az Aspose.Imaging Cloud alábbi hasznos forrásait.
- Web API Explorer → Élő példák API-kra
- Fejlesztői dokumentáció → Online dokumentáció
- Példák és SDK-k → Kódminták a Githubon
Kapcsolódó linkek
Javasoljuk, hogy látogassa meg az alábbi linkeket, ha többet szeretne megtudni erről: