Ejemplo n.º 1
0
def get_random_image(request):
    # we can change this
    N_CAT = 2
    cats = anns.distinct('category_id')
    img_ids = []

    while len(img_ids) == 0:
        # sample N_CAT categories
        sample_cats = sample(cats, N_CAT)

        # image ids with either combination of the N_CAT categories
        img_pool = []
        for cat in sample_cats:
            img_ids = anns.find({'category_id': cat}, {'image_id': 1, '_id': 0})
            img_ids = [img_id['image_id'] for img_id in img_ids]
            img_pool.append(set(img_ids))

        img_ids = set(img_pool[0])
        # print img_ids
        for i, k in enumerate(img_pool):
            if i == 0:
                continue
            img_ids = img_ids.intersection(img_pool[i])
            # print img_ids
        img_ids = list(img_ids)

    # pick a random images
    rand_image_id = sample(img_ids, 1)[0]
    img = build_img_dict(rand_image_id, anns, ocr, images, categories)

    return HttpResponse(json.dumps(img))
Ejemplo n.º 2
0
def get_random_ocr(request):
    # sample OCR
    ocr_imgs = ocr.distinct('image_id')
    rand_image_id = sample(ocr_imgs, 1)[0]
    img = build_img_dict(rand_image_id, anns, ocr, images, categories)
    return HttpResponse(json.dumps(img))
Ejemplo n.º 3
0
def get_img(request, img_id):
    iid = int(img_id)
    img_out = build_img_dict(iid, anns, ocr, images, categories)
    return HttpResponse(json.dumps(img_out))