descriptor2rdf.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:imgpedia 作者: scferrada 项目源码 文件源码
def writeRDF(buffer):
    while not buffer.empty():
        folder, subfolder = buffer.get()
        print "working on %s" % subfolder
        img_dirs = []
        for path, dirs, files in os.walk(os.path.join(descriptor_path,folder,subfolder)):
            img_dirs.extend(dirs)
            break
        for img_dir in img_dirs:
            out_images = os.path.join(output_path, images, folder, subfolder)
            out_descriptors = os.path.join(output_path, descriptors, folder, subfolder)
            if not os.path.exists(out_images):
                os.makedirs(out_images)
            if not os.path.exists(out_descriptors):
                os.makedirs(out_descriptors)
            #write rdf file for visual entity
            image_rdf = open(os.path.join(out_images, img_dir), "w")
            image_rdf.write(prefixes_im)
            txt = "imr:%s a imo:Image ;\n" % img_dir
            txt += "\timo:folder %s ;\n" % folder
            txt += "\timo:subfolder %s ;\n" % subfolder
            txt += "\towl:sameAs dbcr:%s ;\n" % img_dir
            image_rdf.write(txt)
            image_rdf.close()
            #write rdf files for each descriptor
            for path, dirs, files in os.walk(os.path.join(descriptor_path, folder, subfolder, img_dir)):
                if len(files) < 3:
                    e = open(error_log, "a")
                    txt = "File %s/%s/%s has only %d descriptors\n" % (folder, subfolder, img_dir, len(files))
                    e.write(txt)
                    e.close()
                for descriptor_file in files:
                    descriptor = np.load(os.path.join(descriptor_path, folder, subfolder,img_dir,descriptor_file))
                    descriptor_rdf = open(os.path.join(out_descriptors, descriptor_file), "w")
                    descriptor_rdf.write(prefixes_desc)
                    extension = descriptor_map[descriptor_file[-3:]]
                    txt = "\nimr:%s a imo:%s ;\n" % (descriptor_file[:-3] + extension, extension)
                    txt += "\timo:describes imr:%s ;\n" % (img_dir)
                    txt += "\timo:value \"%s\" ." % (np.array2string(descriptor.T[0], separator=',', max_line_width=100000))
                    descriptor_rdf.write(txt)
                    descriptor_rdf.close()
                break
        buffer.task_done()
        print "subfolder %s done" % subfolder
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号