ดำเนินการค้นหาภาพย้อนกลับโดยใช้ Java

การค้นหาภาพย้อนกลับใน Java ช่วยให้นักพัฒนาสามารถค้นหาภาพที่คล้ายกันในคอลเล็กชันโดยอิงจากเนื้อหาภาพแทนที่จะต้องพึ่งพาคีย์เวิร์ดหรือข้อมูลเมตา คุณลักษณะนี้มีประโยชน์อย่างยิ่งในแอปพลิเคชัน เช่น การค้นหาภาพ ระบบการจัดการเนื้อหา และการจัดการทรัพยากรดิจิทัล ด้วยการใช้ประโยชน์จากไลบรารีการค้นหา นักพัฒนา Java สามารถนำความสามารถในการค้นหาภาพย้อนกลับมาใช้ได้อย่างง่ายดาย เพื่อค้นหาภาพที่ตรงกันอย่างรวดเร็ว ในบทความนี้ เราจะกล่าวถึงวิธีค้นหาภาพย้อนกลับโดยใช้ Java และให้ตัวอย่างโค้ดเพื่อช่วยคุณเริ่มต้น ฟังก์ชันนี้มีประโยชน์โดยเฉพาะในการจัดการรูปแบบภาพต่างๆ รวมถึงไฟล์ PNG, JPEG และ ZIP เพื่อให้แน่ใจว่าสามารถทำงานร่วมกันได้อย่างราบรื่นบนแพลตฟอร์มและประเภทไฟล์ต่างๆ

ขั้นตอนในการค้นหาภาพย้อนกลับโดยใช้ Java

  1. รวมไลบรารี GroupDocs.Search for Java เข้าในโครงการของคุณเพื่อเปิดใช้งานฟังก์ชันการค้นหาภาพย้อนกลับ
  2. เริ่มต้นวัตถุ Index โดยระบุโฟลเดอร์ที่จะเก็บดัชนี
  3. กำหนดค่า IndexingOptions ของภาพเพื่อให้สามารถจัดทำดัชนีรูปภาพไอเท็มคอนเทนเนอร์ รูปภาพที่ฝัง และรูปภาพแบบสแตนด์อโลนได้
  4. เพิ่มเอกสารไปยังโฟลเดอร์ดัชนีโดยใช้ตัวเลือกการจัดทำดัชนีภาพที่กำหนดค่าไว้
  5. ตั้งค่า ImageSearchOptions เช่น ความแตกต่างของแฮช จำนวนผลลัพธ์สูงสุด และตัวกรองสำหรับเอกสารที่จะค้นหา
  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 หากต้องการคำแนะนำทีละขั้นตอนอย่างครบถ้วน โปรดอ่านบทความเชิงลึกของเราเกี่ยวกับวิธีดำเนินการ การค้นหาด้วยนิพจน์ทั่วไปโดยใช้ Java

 ไทย