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