إجراء بحث عكسي عن الصور باستخدام Java

يتيح إجراء بحث عكسي عن الصور في Java للمطورين العثور على صور مماثلة في مجموعة بناءً على محتواها المرئي بدلاً من الاعتماد على الكلمات الرئيسية أو البيانات الوصفية. هذه الميزة قيمة بشكل خاص في التطبيقات مثل استرجاع الصور وأنظمة إدارة المحتوى وإدارة الأصول الرقمية. من خلال الاستفادة من مكتبة البحث، يمكن لمطوري Java تنفيذ إمكانات البحث العكسي عن الصور بسهولة لتحديد موقع الصور المطابقة بسرعة. في هذه المقالة، سنغطي كيفية إجراء بحث عكسي عن الصور باستخدام Java وتوفير مثال كود لمساعدتك في البدء. هذه الوظيفة مفيدة بشكل خاص للتعامل مع تنسيقات الصور المختلفة، بما في ذلك أرشيفات PNG وJPEG وZIP، مما يضمن التوافق السلس عبر منصات وأنواع ملفات مختلفة.

خطوات إجراء بحث عكسي عن الصور باستخدام Java

  1. دمج مكتبة GroupDocs.Search for Java في مشروعك لتمكين وظيفة البحث العكسي عن الصور
  2. قم بتهيئة كائن Index عن طريق تحديد المجلد الذي سيتم تخزين الفهرس فيه
  3. قم بتكوين خيارات فهرسة الصور للسماح بالفهرسة لصور عناصر الحاوية والصور المضمنة والصور المستقلة
  4. أضف المستندات إلى مجلد الفهرس باستخدام خيارات فهرسة الصور المكوّنة
  5. تعيين خيارات البحث عن الصور، مثل اختلافات التجزئة، والحد الأقصى لعدد النتائج، والمرشحات للمستندات التي سيتم البحث فيها
  6. قم بإنشاء صورة مرجعية للبحث عن طريق تحديد المسار إلى ملف الصورة باستخدام طريقة SearchImage.create
  7. قم بتنفيذ بحث الصور داخل الفهرس باستخدام صورة المرجع وخيارات البحث المحددة من خلال Index.search
  8. قم بالتكرار خلال نتائج البحث وعرض تفاصيل كل صورة تم العثور عليها

لتنفيذ هذه الوظيفة، تبدأ العملية بإنشاء فهرس يخزن الصور مع البيانات الوصفية المرتبطة بها. تُستخدم فئة 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 هو خاصية أساسية لتحديد موقع الصور المتشابهة بكفاءة استنادًا إلى المحتوى، مما يتيح للتطبيقات العثور بسرعة ودقة على الصور عبر بيئات متنوعة، من برامج سطح المكتب إلى الخدمات المستندة إلى السحابة. يضمن تضمين مكتبة البحث لفهرسة الصور والبحث عنها استقلالية المنصة، مما يجعلها متوافقة مع أنظمة Windows وmacOS وLinux، مع القدرة أيضًا على التوسع لإدارة مجموعات بيانات الصور الكبيرة. من خلال الاستفادة من هذه الميزات، يمكن للمطورين بناء أنظمة بحث صور قوية تعمل على تحسين تجارب المستخدم وتحسين إدارة المحتوى عبر منصات وتطبيقات مختلفة. لا يعمل هذا النهج على تعزيز كفاءة البحث فحسب، بل يبسط أيضًا التعامل مع مكتبات الصور الشاملة، مما يضمن التكامل السلس في سير العمل الحالية.

في السابق، نشرنا دليلاً مفصلاً حول تنفيذ عمليات البحث باستخدام التعابير العادية باستخدام Java. للحصول على إرشادات كاملة خطوة بخطوة، استكشف مقالتنا المتعمقة حول كيفية تنفيذ البحث عن التعابير العادية باستخدام جافا.

 عربي