Izvršite obrnuto pretraživanje slike pomoću Jave

Izvođenje obrnutog pretraživanja slika u Javi omogućuje razvojnim programerima pronalaženje sličnih slika u zbirci na temelju njihovog vizualnog sadržaja umjesto oslanjanja na ključne riječi ili metapodatke. Ova značajka je posebno vrijedna u aplikacijama kao što su pronalaženje slika, sustavi za upravljanje sadržajem i upravljanje digitalnom imovinom. Iskorištavanjem biblioteke pretraživanja, Java programeri mogu jednostavno implementirati mogućnosti obrnutog pretraživanja slika za brzo lociranje odgovarajućih slika. U ovom ćemo članku opisati kako izvršiti obrnuto pretraživanje slika pomoću Jave i pružiti primjer koda koji će vam pomoći da započnete. Ova je funkcija posebno korisna za rukovanje različitim formatima slika, uključujući PNG, JPEG i ZIP arhive, osiguravajući besprijekornu kompatibilnost na različitim platformama i vrstama datoteka.

Koraci za izvođenje obrnutog pretraživanja slika pomoću Jave

  1. Integrirajte biblioteku GroupDocs.Search for Java u svoj projekt kako biste omogućili funkciju obrnutog pretraživanja slika
  2. Inicijalizirajte objekt Index određivanjem mape u kojoj će indeks biti pohranjen
  3. Konfigurirajte opcije indeksiranja slika kako biste omogućili indeksiranje za slike stavki spremnika, ugrađene slike i samostalne slike
  4. Dodajte dokumente u indeksnu mapu s konfiguriranim opcijama indeksiranja slika
  5. Postavite ImageSearchOptions, kao što su hash razlike, maksimalan broj rezultata i filtri za dokumente za pretraživanje
  6. Stvorite referentnu sliku za pretraživanje definiranjem staze do slikovne datoteke metodom SearchImage.create
  7. Izvršite pretraživanje slike unutar indeksa pomoću referentne slike i definiranih opcija pretraživanja putem Index.search
  8. Iterirajte kroz rezultate pretraživanja i prikažite detalje svake pronađene slike

Za implementaciju ove funkcije, proces počinje stvaranjem indeksa koji pohranjuje slike zajedno s njima povezanim metapodacima. Klasa IndexingOptions koristi se za omogućavanje indeksiranja za različite vrste slika, kao što su ugrađene slike, slike stavki spremnika i samostalne slike. Nakon indeksiranja, pretraživanje se može izvršiti pomoću klase SearchImage, koja vam omogućuje da navedete referentnu sliku i pronađete slične podudarnosti u indeksiranim dokumentima. Klasa ImageSearchOptions pruža daljnju prilagodbu pretraživanja, uključujući postavljanje ograničenja broja rezultata i određivanje koje vrste dokumenata treba pretraživati. Ova metoda omogućuje učinkovito dohvaćanje slika temeljeno na sadržaju u Java aplikacijama. Ispod je Java kod za obrnuto pretraživanje slika, koji ilustrira kako primijeniti ove značajke u vašem projektu.

Kod za izvođenje obrnutog pretraživanja slike pomoću Jave

import com.groupdocs.search.Index;
import com.groupdocs.search.SearchDocumentFilter;
import com.groupdocs.search.common.SearchImage;
import com.groupdocs.search.licenses.License;
import com.groupdocs.search.options.ImageSearchOptions;
import com.groupdocs.search.options.IndexingOptions;
import com.groupdocs.search.results.FoundImageFrame;
import com.groupdocs.search.results.ImageSearchResult;
public class PerformReverseImageSearchusingJava {
public static void main(String[] args) throws Exception {
// Apply the license to remove the restrictions
// imposed by the Search library
License license = new License();
license.setLicense("GroupDocs.Search.lic");
// The path where the index will be stored
String indexFolder = "c:\\MyIndex\\";
// The folder containing the documents you want to search
String documentsFolder = "c:\\MyDocuments\\";
// Creating an index
Index index = new Index(indexFolder);
// Setting the image indexing options
IndexingOptions indexingOptions = new IndexingOptions();
indexingOptions.getImageIndexingOptions().setEnabledForContainerItemImages(true);
indexingOptions.getImageIndexingOptions().setEnabledForEmbeddedImages(true);
indexingOptions.getImageIndexingOptions().setEnabledForSeparateImages(true);
// Indexing documents in a document folder
index.add(documentsFolder, indexingOptions);
// Setting the image search options
ImageSearchOptions imageSearchOptions = new ImageSearchOptions();
imageSearchOptions.setHashDifferences(10);
imageSearchOptions.setMaxResultCount(10000);
imageSearchOptions.setSearchDocumentFilter(SearchDocumentFilter
.createFileExtension(".zip", ".png", ".jpg"));
// Creating a reference image for search
SearchImage searchImage = SearchImage.create("c:\\MyDocuments\\image.png");
// Searching in the index
ImageSearchResult result = index.search(searchImage, imageSearchOptions);
System.out.print("Images found: " + result.getImageCount());
for (int i = 0; i < result.getImageCount(); i++) {
FoundImageFrame image = result.getFoundImage(i);
System.out.print(image.getDocumentInfo().toString());
}
}
}

Izvođenje dohvaćanja slika temeljenog na sadržaju pomoću Jave bitno je svojstvo za učinkovito lociranje sličnih slika na temelju sadržaja, omogućujući aplikacijama brzo i precizno pronalaženje slika u različitim okruženjima, od softvera za stolna računala do usluga temeljenih na oblaku. Uključivanje biblioteke za pretraživanje za indeksiranje i pretraživanje slika osigurava neovisnost o platformi, što ga čini kompatibilnim sa sustavima Windows, macOS i Linux, dok se također može skalirati za upravljanje velikim skupovima podataka o slikama. Iskorištavanjem prednosti ovih značajki, programeri mogu izgraditi moćne sustave za pretraživanje slika koji poboljšavaju korisnička iskustva i optimiziraju upravljanje sadržajem na različitim platformama i aplikacijama. Ovaj pristup ne samo da poboljšava učinkovitost pretraživanja, već i pojednostavljuje rukovanje opsežnim bibliotekama slika, osiguravajući glatku integraciju u postojeće tijekove rada.

Prethodno smo objavili detaljan vodič o izvršavanju pretraživanja regularnih izraza pomoću Jave. Za potpune upute korak po korak, istražite naš detaljan članak o tome kako izvesti pretraživanje regularnih izraza pomoću Jave.

 Hrvatski