انجام جستجوی عکس معکوس در جاوا توسعه دهندگان را قادر می سازد تا تصاویر مشابه را در یک مجموعه بر اساس محتوای بصری خود به جای تکیه بر کلمات کلیدی یا ابرداده پیدا کنند. این ویژگی به ویژه در برنامه هایی مانند بازیابی تصویر، سیستم های مدیریت محتوا و مدیریت دارایی های دیجیتال ارزشمند است. با استفاده از کتابخانه جستجو، توسعه دهندگان جاوا می توانند به راحتی قابلیت های جستجوی عکس معکوس را برای مکان یابی سریع تصاویر منطبق اجرا کنند. در این مقاله، نحوه انجام جستجوی عکس معکوس با استفاده از جاوا و ارائه یک مثال کد برای کمک به شما در شروع کار را توضیح خواهیم داد. این قابلیت به ویژه برای مدیریت فرمت های مختلف تصویر، از جمله آرشیوهای PNG، JPEG، و ZIP مفید است و از سازگاری یکپارچه در پلتفرم ها و انواع فایل های مختلف اطمینان می دهد.
مراحل انجام جستجوی عکس معکوس با استفاده از جاوا
- برای فعال کردن قابلیت جستجوی عکس معکوس، کتابخانه GroupDocs.Search for Java را در پروژه خود ادغام کنید
- با مشخص کردن پوشهای که فهرست در آن ذخیره میشود، یک شیء Index را راهاندازی کنید.
- پیکربندی تصویر IndexingOptions برای امکان نمایه سازی برای تصاویر اقلام ظرف، تصاویر جاسازی شده و تصاویر مستقل
- اسناد را با گزینه های نمایه سازی تصویر پیکربندی شده به پوشه فهرست اضافه کنید
- تنظیمات ImageSearchOptions، مانند تفاوت های هش، حداکثر تعداد نتایج، و فیلترهای اسناد برای جستجو را تنظیم کنید.
- با تعریف مسیر فایل تصویری با متد SearchImage.create یک تصویر مرجع برای جستجو ایجاد کنید
- جستجوی تصویر درون فهرست را با استفاده از تصویر مرجع و گزینه های جستجوی تعریف شده از طریق Index.search انجام دهید
- نتایج جستجو را تکرار کنید و جزئیات هر تصویر یافت شده را نمایش دهید
برای پیادهسازی این قابلیت، فرآیند با ایجاد یک شاخص شروع میشود که تصاویر را همراه با ابردادههای مرتبط ذخیره میکند. کلاس «IndexingOptions» برای فعال کردن نمایه سازی برای انواع مختلف تصویر، مانند تصاویر جاسازی شده، تصاویر آیتم های ظرف، و تصاویر مستقل استفاده می شود. پس از نمایه سازی، جستجو را می توان با استفاده از کلاس «SearchImage» انجام داد، که به شما امکان می دهد تصویر مرجع را مشخص کنید و موارد مشابه را در اسناد نمایه شده بیابید. کلاس ImageSearchOptions سفارشی سازی بیشتری را برای جستجو فراهم می کند، از جمله تعیین محدودیت در تعداد نتایج و تعیین انواع اسناد برای جستجو. این روش بازیابی تصویر مبتنی بر محتوا را در برنامه های جاوا امکان پذیر می کند. در زیر کد جاوا برای جستجوی عکس معکوس وجود دارد که نحوه اعمال این ویژگی ها را در پروژه خود نشان می دهد.
کد برای انجام جستجوی عکس معکوس با استفاده از جاوا
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()); | |
} | |
} | |
} |
انجام بازیابی تصویر مبتنی بر محتوا با استفاده از جاوا یک ویژگی ضروری برای مکان یابی موثر تصاویر مشابه بر اساس محتوا است که به برنامه ها امکان می دهد تصاویر را به سرعت و با دقت در محیط های مختلف، از نرم افزار دسکتاپ گرفته تا سرویس های مبتنی بر ابر، پیدا کنند. گنجاندن کتابخانه جستجو برای نمایهسازی و جستجوی تصاویر، استقلال پلتفرم را تضمین میکند و آن را با ویندوز، macOS و لینوکس سازگار میکند و همچنین میتواند برای مدیریت مجموعههای داده تصویری بزرگ مقیاسبندی کند. با بهرهگیری از این ویژگیها، توسعهدهندگان میتوانند سیستمهای جستجوی تصویر قدرتمندی بسازند که تجربیات کاربر را بهبود میبخشد و مدیریت محتوا را در پلتفرمها و برنامههای مختلف بهینه میکند. این رویکرد نه تنها کارایی جستجو را افزایش میدهد، بلکه مدیریت کتابخانههای تصویری گسترده را نیز ساده میکند و از یکپارچگی روان در جریانهای کاری موجود اطمینان میدهد.
پیش از این، ما یک راهنمای دقیق در مورد اجرای جستجوهای عبارات منظم با استفاده از جاوا منتشر کردیم. برای دستورالعمل های گام به گام کامل، مقاله عمیق ما را در مورد نحوه اجرای جستجوی عبارات منظم با استفاده از جاوا بررسی کنید.