Η εκτέλεση αντίστροφης αναζήτησης εικόνων σε Java επιτρέπει στους προγραμματιστές να βρίσκουν παρόμοιες εικόνες σε μια συλλογή με βάση το οπτικό τους περιεχόμενο αντί να βασίζονται σε λέξεις-κλειδιά ή μεταδεδομένα. Αυτή η δυνατότητα είναι ιδιαίτερα πολύτιμη σε εφαρμογές όπως η ανάκτηση εικόνων, τα συστήματα διαχείρισης περιεχομένου και η διαχείριση ψηφιακών στοιχείων. Αξιοποιώντας τη βιβλιοθήκη Αναζήτησης, οι προγραμματιστές Java μπορούν εύκολα να εφαρμόσουν δυνατότητες αντίστροφης αναζήτησης εικόνων για να εντοπίζουν γρήγορα τις αντίστοιχες εικόνες. Σε αυτό το άρθρο, θα καλύψουμε πώς να εκτελείτε αντίστροφη αναζήτηση εικόνων χρησιμοποιώντας Java και θα παρέχουμε ένα παράδειγμα κώδικα που θα σας βοηθήσει να ξεκινήσετε. Αυτή η λειτουργία είναι ιδιαίτερα χρήσιμη για το χειρισμό διαφόρων μορφών εικόνας, συμπεριλαμβανομένων των αρχείων PNG, JPEG και ZIP, διασφαλίζοντας απρόσκοπτη συμβατότητα σε διαφορετικές πλατφόρμες και τύπους αρχείων.
Βήματα για την εκτέλεση αντίστροφης αναζήτησης εικόνων χρησιμοποιώντας Java
- Ενσωματώστε τη βιβλιοθήκη GroupDocs.Search for Java στο έργο σας για να ενεργοποιήσετε τη λειτουργία αντίστροφης αναζήτησης εικόνων
- Αρχικοποιήστε ένα αντικείμενο Index καθορίζοντας το φάκελο όπου θα αποθηκευτεί το ευρετήριο
- Ρύθμιση παραμέτρων εικόνας IndexingOptions για να επιτρέπεται η δημιουργία ευρετηρίου για εικόνες στοιχείων κοντέινερ, ενσωματωμένες εικόνες και αυτόνομες εικόνες
- Προσθέστε έγγραφα στο φάκελο ευρετηρίου με τις διαμορφωμένες επιλογές ευρετηρίου εικόνων
- Ορίστε τις Επιλογές ImageSearch, όπως διαφορές κατακερματισμού, τον μέγιστο αριθμό αποτελεσμάτων και φίλτρα για τα έγγραφα προς αναζήτηση
- Δημιουργήστε μια εικόνα αναφοράς για την αναζήτηση ορίζοντας τη διαδρομή προς το αρχείο εικόνας με τη μέθοδο SearchImage.create
- Εκτελέστε την αναζήτηση εικόνων μέσα στο ευρετήριο χρησιμοποιώντας την εικόνα αναφοράς και τις καθορισμένες επιλογές αναζήτησης μέσω του Index.search
- Επαναλάβετε τα αποτελέσματα αναζήτησης και εμφανίστε τις λεπτομέρειες κάθε εικόνας που βρέθηκε
Για την υλοποίηση αυτής της λειτουργικότητας, η διαδικασία ξεκινά με τη δημιουργία ενός ευρετηρίου που αποθηκεύει εικόνες μαζί με τα σχετικά μεταδεδομένα τους. Η κλάση IndexingOptions
χρησιμοποιείται για την ενεργοποίηση της δημιουργίας ευρετηρίου για διάφορους τύπους εικόνων, όπως ενσωματωμένες εικόνες, εικόνες στοιχείων κοντέινερ και αυτόνομες εικόνες. Μετά την ευρετηρίαση, η αναζήτηση μπορεί να εκτελεστεί χρησιμοποιώντας την κλάση «SearchImage», η οποία σας επιτρέπει να καθορίσετε μια εικόνα αναφοράς και να βρείτε παρόμοιες αντιστοιχίσεις στα ευρετηριασμένα έγγραφα. Η κλάση ImageSearchOptions
παρέχει περαιτέρω προσαρμογή για την αναζήτηση, συμπεριλαμβανομένης της ρύθμισης ορίων στον αριθμό των αποτελεσμάτων και του καθορισμού των τύπων εγγράφων που θα αναζητηθούν. Αυτή η μέθοδος επιτρέπει την αποτελεσματική ανάκτηση εικόνας βάσει περιεχομένου σε εφαρμογές Java. Παρακάτω είναι ο Κώδικας Java για αντίστροφη αναζήτηση εικόνων, ο οποίος δείχνει πώς να εφαρμόσετε αυτές τις δυνατότητες στο έργο σας.
Κώδικας για την εκτέλεση αντίστροφης αναζήτησης εικόνων χρησιμοποιώντας Java
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()); | |
} | |
} | |
} |
Η εκτέλεση ανάκτησης εικόνας βάσει περιεχομένου χρησιμοποιώντας Java είναι μια βασική ιδιότητα για τον αποτελεσματικό εντοπισμό παρόμοιων εικόνων με βάση το περιεχόμενο, επιτρέποντας στις εφαρμογές να βρίσκουν γρήγορα και με ακρίβεια εικόνες σε διάφορα περιβάλλοντα, από λογισμικό επιτραπέζιου υπολογιστή έως υπηρεσίες που βασίζονται σε cloud. Η συμπερίληψη της βιβλιοθήκης Αναζήτησης για ευρετηρίαση και αναζήτηση εικόνων διασφαλίζει την ανεξαρτησία της πλατφόρμας, καθιστώντας την συμβατή με Windows, macOS και Linux, ενώ είναι επίσης σε θέση να κλιμακώνεται για τη διαχείριση μεγάλων συνόλων δεδομένων εικόνων. Εκμεταλλευόμενοι αυτές τις δυνατότητες, οι προγραμματιστές μπορούν να δημιουργήσουν ισχυρά συστήματα αναζήτησης εικόνων που βελτιώνουν τις εμπειρίες των χρηστών και βελτιστοποιούν τη διαχείριση περιεχομένου σε διάφορες πλατφόρμες και εφαρμογές. Αυτή η προσέγγιση όχι μόνο ενισχύει την αποτελεσματικότητα αναζήτησης, αλλά και απλοποιεί τον χειρισμό εκτεταμένων βιβλιοθηκών εικόνων, διασφαλίζοντας την ομαλή ενσωμάτωση στις υπάρχουσες ροές εργασίας.
Προηγουμένως, δημοσιεύσαμε έναν λεπτομερή οδηγό για την εκτέλεση αναζητήσεων κανονικών εκφράσεων χρησιμοποιώντας Java. Για πλήρεις οδηγίες βήμα προς βήμα, εξερευνήστε το σε βάθος άρθρο μας σχετικά με τον τρόπο εκτέλεσης του αναζήτηση κανονικών εκφράσεων με χρήση Java.