Skip to content

Instantly share code, notes, and snippets.

@monajalal
Created November 1, 2016 02:05
Show Gist options
  • Save monajalal/642a30bf739e699661f5cf24a8e07f00 to your computer and use it in GitHub Desktop.
Save monajalal/642a30bf739e699661f5cf24a8e07f00 to your computer and use it in GitHub Desktop.
import csv
import numpy as np
import skimage.io as io
import matplotlib.pyplot as plt
import pylab
import sys
from pprint import pprint as p
from time import sleep
import os
sys.path.append('/home/mona/mscoco/coco/PythonAPI')
p(sys.path)
from pycocotools.coco import COCO
pylab.rcParams['figure.figsize'] = (10.0, 8.0)
dataDir='.'
dataType='train2014'
annFile='%s/annotations/instances_%s.json'%(dataDir,dataType)
coco = COCO(annFile)
cats = coco.loadCats(coco.getCatIds())
nms = [cat['name'] for cat in cats]
annFile = '%s/annotations/captions_%s.json'%(dataDir,dataType)
coco_caps=COCO(annFile)
categories = {"person","bicycle","car","motorcycle","airplane","bus","train","truck","boat","traffic light","fire hydrant","stop sign","parking meter","bench","bird","cat","dog","horse","sheep","cow","elephant","bear","zebra","giraffe","backpack","umbrella","handbag","tie","suitcase","frisbee","skis", "snowboard","sports ball","kite","baseball bat","baseball glove","skateboard","surfboard","tennis racket","bottle","wine glass","cup","fork","knife","spoon" ,"bowl","banana","apple","sandwich","orange","broccoli","carrot","hot dog","pizza","donut","cake","chair","couch","potted plant","bed","dining table","toilet","tv","laptop","mouse","remote","keyboard","cell phone","microwave","oven","toaster","sink","refrigerator","book","clock","vase","scissors","teddy bear","hair drier","toothbrush"}
stat_file = open('all_stat.csv', 'wb')
a_complete = csv.writer(stat_file, delimiter=',')
for category in categories:
#category_path = "/home/mona/mscoco/all_categories_mscoco_caption/"+category
#if not os.path.exists(category_path):
# os.makedirs(category_path)
image_count = 0
catIds = coco.getCatIds(category)
imgIds = coco.getImgIds(catIds=catIds );
for imgId in imgIds:
if image_count < 65:
stat_row = []
stat_row.append(str(imgId))
print("{0}: {1}".format("image id is", imgId))
image_count += 1
img = coco.loadImgs(imgId)[0]
annIds = coco.getAnnIds(imgId, catIds=catIds, iscrowd = None)
anns = coco.loadAnns(annIds)
print(coco.getAnnIds(imgId))
list_anns = coco.getAnnIds(imgId)
annotations = coco.loadAnns(list_anns)
for annotation in annotations:
stat_row.append(coco.loadCats(annotation['category_id'])[0]['name'])
#print("{0}: {1}".format("category_id is", annotation['category_id']))
print(coco.loadCats(annotation['category_id'])[0]['name'])
a_complete.writerow(stat_row)
coco.showAnns(anns)
annIds = coco_caps.getAnnIds(imgId)
captions = coco_caps.loadAnns(annIds)
#filename = "/home/mona/mscoco/all_categories_mscoco_caption/"+category+'/'++str(imgId) + ".txt"
filename = "/home/mona/mscoco/merged_captions/"+str(imgId)+".txt"
caption_file = open(filename, 'wb')
for i in range(5):
caption_file.write((captions[i]['caption']) + os.linesep)
caption_file.close()
else:
break
stat_file.close()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment