BOWS-2的数据集问题

看到您的博客“【图像隐写数据集】图像隐写数据集整理”,发现了有关BOWS-2的数据集问题,现在已经在私信中私信给您,请您看到回复一下,谢谢!

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 这篇博客: 计算机视觉——基于BOW的图像检索中的 (三)遍历所有的图像,将它们的特征投影到词汇并提交到数据库 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:

    本部分主要实现目的是将模型数据导入数据库。照常先载入图像列表、特征列表及词汇,创建Indexer类对象利用数据库创建图像索引。
    实现代码:

    # -*- coding: utf-8 -*-
    import pickle
    from PCV.imagesearch import imagesearch
    from PCV.localdescriptors import sift
    from sqlite3 import dbapi2 as sqlite
    from PCV.tools.imtools import get_imlist
    
    #获取图像列表
    imlist = get_imlist('F:/Pictures/one/')
    nbr_images = len(imlist)
    #获取特征列表
    featlist = [imlist[i][:-3]+'sift' for i in range(nbr_images)]
    
    # load vocabulary
    #载入词汇
    with open('D:/dasan2/vocabulary.pkl', 'rb') as f:
        voc = pickle.load(f)
    #创建索引
    indx = imagesearch.Indexer('testImaAdd3.db',voc)
    indx.create_tables()
    # go through all images, project features on vocabulary and insert
        #遍历所有的图像,并将它们的特征投影到词汇上
    for i in range(nbr_images)[:1000]:
        locs,descr = sift.read_features_from_file(featlist[i])
        indx.add_to_index(imlist[i],descr)
    # commit to database
    #提交到数据库
    indx.db_commit()
    
    con = sqlite.connect('testImaAdd3.db')
    print (con.execute('select count (filename) from imlist').fetchone())
    print (con.execute('select * from imlist').fetchone())
    
    

    可得到一个数据库文件:
    将上面得到的数据模型存放数据库testImaAdd3.db中,即运行下面代码会生成一个testImaAdd3.db数据库文件。
    在这里插入图片描述


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^