example.py 934 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/usr/bin/env python
  2. if __name__ != '__main__': raise Exception("Do not import me!")
  3. from nabirds import Dataset, Annotations
  4. from nabirds.dataset import visible_part_locs, visible_crops
  5. import matplotlib.pyplot as plt
  6. annot = Annotations("/home/korsch1/korsch/datasets/birds/nabirds")
  7. print(annot.labels.shape)
  8. data = Dataset(annot.train_uuids, annot)
  9. for i, (im, parts, label) in enumerate(data, 1):
  10. if i <= 15: continue
  11. idxs, (xs, ys) = visible_part_locs(parts)
  12. print(label)
  13. print(idxs)
  14. fig1 = plt.figure(figsize=(16,9))
  15. ax = fig1.add_subplot(111)
  16. ax.imshow(im)
  17. ax.scatter(xs, ys, marker="x", c=idxs)
  18. fig2 = plt.figure(figsize=(16,9))
  19. n_parts = parts.shape[0]
  20. for j, crop in enumerate(visible_crops(im, parts, .5), 1):
  21. ax = fig2.add_subplot(2, 6, j)
  22. ax.imshow(crop)
  23. middle = crop.shape[0] / 2
  24. ax.scatter(middle, middle, marker="x")
  25. plt.show()
  26. plt.close(fig1)
  27. plt.close(fig2)
  28. if i >= 20: break