# CISE **Repository Path**: mutear/CISE ## Basic Information - **Project Name**: CISE - **Description**: Content-based Image Search Engine(CISE)基于内容的图像搜索引擎 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 93 - **Forks**: 32 - **Created**: 2015-10-25 - **Last Updated**: 2024-06-30 ## Categories & Tags **Categories**: search-engine **Tags**: None ## README # CISE # 基于内容的图片搜索引擎(Content-based Image Search Engine) 本引擎旨在实现成一个图片搜索引擎包,可供其他有需要的系统使用 使用本引擎只需要少量的配置以及简单的启动代码,便能启动 ## 所需配置 项目根目录(由于考虑到使用本引擎的系统可能是普通的 Java 项目也有可能是 Web 项目,因此暂时没有去考虑如何区分获取项目根目录,暂用配置来解决问题) 图片库目录 每个搜索器返回的结果数目,默认为10 线程池最大线程数,默认为50 图片特征提取算法的配置,如果搜索图片时希望对某个特征进行搜索,则将对应的算法配置为 true ,否则为 false 线性排序算法的图像特征权重系数的配置(如果使用的排序算法是线性排序的话) ## 启动代码 ### 启动索引 public class IndexerDemo { public static void main(String[] args) { /* * 若要对现有的整个图片库进行索引,则在配置文件中配置图片库地址 * 然后直接调用 Indexer.start() 方法,进行索引 * */ Indexer.start(); /* * 若图片库中的部分图片已生成索引了,现需对其他图片进行索引 * 则调用 Indexer.start(sufPath) 方法 * 参数为基于已配置的图片库地址的后缀地址 * 如要进行索引的目录为 C:\pictures\test ,配置的图片库地址为 C:\pictures\ * 则 sufPath = "test"; * 此方法是为了满足图片库逐日增加图片的需求 * 如项目的图片库是由爬虫所得,爬虫每日都进行爬取,则可将后缀地址设置为日期 * 如2015年7月16日爬取了部分图片,则需对 C:\pictures\20150716 目录下的图片进行索引 * 此时只需调用 Indexer.start("20150716"); * */ // Indener.start("20150716"); } } ### 启动搜索 public class SearcherDemo { public static void main(String[] args) { String filePath = ""; List results = null; if(null != filePath && filePath.length() != 0){ // 此处使用了 Util.SELECTED_ALGORITHMS,这是在有对配置文件进行配置的情况下 AbstractParallelSearcher aps = ParallelSearcherFactory.createDefaultParallelSearcher(Util.SELECTED_ALGORITHMS); BufferedImage img = null; try { results = aps.search(filePath); } catch (Exception e) { e.printStackTrace(); } } if(results != null){ for(int i = 0; i < results.size(); i++){ System.out.println(results.get(i).toString()); } } } } ## 引用 CISE 要在自己的项目中引用 CISE ,只需将 required-jar 目录中的 jar 包加入项目的 build-path ,然后将 algorithmConfig.properties、baseConfig.properties、sortConfig.properties 三个配置文件放在 src 目录下即可 三个配置文件的配置信息参照以上说明