Proveďte Reverse Image Search pomocí Java

Provádění reverzního vyhledávání obrázků v Javě umožňuje vývojářům najít podobné obrázky v kolekci na základě jejich vizuálního obsahu, spíše než se spoléhat na klíčová slova nebo metadata. Tato funkce je zvláště cenná v aplikacích, jako je načítání obrázků, systémy správy obsahu a správa digitálních aktiv. Využitím knihovny Search mohou vývojáři Javy snadno implementovat funkce zpětného vyhledávání obrázků a rychle najít odpovídající obrázky. V tomto článku se budeme zabývat tím, jak provádět zpětné vyhledávání obrázků pomocí Java, a poskytneme příklad kódu, který vám pomůže začít. Tato funkce je zvláště užitečná pro práci s různými formáty obrázků, včetně archivů PNG, JPEG a ZIP, a zajišťuje bezproblémovou kompatibilitu napříč různými platformami a typy souborů.

Kroky k provedení zpětného vyhledávání obrázků pomocí Java

  1. Integrujte knihovnu GroupDocs.Search for Java do svého projektu a povolte funkci zpětného vyhledávání obrázků
  2. Inicializujte objekt Index zadáním složky, do které bude index uložen
  3. Nakonfigurujte možnosti indexování obrázků, abyste umožnili indexování obrázků kontejnerových položek, vložených obrázků a samostatných obrázků
  4. Přidejte dokumenty do složky indexu pomocí nakonfigurovaných možností indexování obrázků
  5. Nastavte ImageSearchOptions, jako jsou hash rozdíly, maximální počet výsledků a filtry pro dokumenty, které chcete prohledávat
  6. Vytvořte referenční obrázek pro vyhledávání definováním cesty k souboru obrázku pomocí metody SearchImage.create
  7. Proveďte vyhledávání obrázků v indexu pomocí referenčního obrázku a definovaných možností vyhledávání prostřednictvím Index.search
  8. Procházejte výsledky vyhledávání a zobrazte podrobnosti o každém nalezeném obrázku

Pro implementaci této funkce proces začíná vytvořením indexu, který ukládá obrázky spolu s jejich přidruženými metadaty. Třída IndexingOptions se používá k povolení indexování pro různé typy obrázků, jako jsou vložené obrázky, obrázky kontejnerových položek a samostatné obrázky. Po indexování lze vyhledávání provést pomocí třídy SearchImage, která vám umožňuje určit referenční obrázek a najít podobné shody v indexovaných dokumentech. Třída ImageSearchOptions poskytuje další přizpůsobení pro vyhledávání, včetně nastavení limitů na počet výsledků a určení, které typy dokumentů se mají prohledávat. Tato metoda umožňuje efektivní načítání obrázků založené na obsahu v aplikacích Java. Níže je Java kód pro zpětné vyhledávání obrázků, který ilustruje, jak tyto funkce použít ve vašem projektu.

Kód pro provedení zpětného vyhledávání obrázků pomocí Javy

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());
}
}
}

Provádění načítání obrázků podle obsahu pomocí Java je základní vlastností pro efektivní vyhledávání podobných obrázků na základě obsahu, což umožňuje aplikacím rychle a přesně najít obrázky v různých prostředích, od softwaru pro stolní počítače po cloudové služby. Zahrnutí knihovny Search pro indexování a vyhledávání obrázků zajišťuje nezávislost na platformě, díky čemuž je kompatibilní s Windows, macOS a Linux a zároveň je možné škálovat pro správu velkých datových sad obrázků. Využitím těchto funkcí mohou vývojáři vytvářet výkonné systémy pro vyhledávání obrázků, které zlepšují uživatelské prostředí a optimalizují správu obsahu napříč různými platformami a aplikacemi. Tento přístup nejen zvyšuje efektivitu vyhledávání, ale také zjednodušuje práci s rozsáhlými knihovnami obrázků a zajišťuje hladkou integraci do stávajících pracovních postupů.

Dříve jsme publikovali podrobný návod k provádění vyhledávání regulárních výrazů pomocí Javy. Úplné pokyny krok za krokem naleznete v našem podrobném článku o tom, jak provádět vyhledávání regulárních výrazů pomocí Javy.

 Čeština