def getPairs(id): label_root = kittiRoot + "instances/" + id image_root = label_root.replace('instances', 'images') image_list = make_dataset(image_root, suffix='.png') image_list.sort() label_list = make_dataset(label_root, suffix='.png') label_list.sort() imgs_list = [] # filter out images with no cars for ind, image_path in enumerate(image_list): label_path = label_list[ind] label = np.array(Image.open(label_path)) plt.imshow(label) plt.show() # for car #mask = np.logical_and(label >= label_id * 1000, label < (label_id + 1) * 1000) mask = np.logical_and(label > 0,label < 3) obj_ids = np.unique(label[mask]).tolist() if len(obj_ids) < 1: continue imgs_list.append('/'.join(image_path.split('/')[-2:])) return imgs_list
时间: 2024-02-26 16:55:14 浏览: 242
instances_minival2014.json和instances_valminusminival2014.json
这段代码的作用是从指定路径下的标签图像和相应的原始图像中,筛选出含有车辆的图像,并返回这些图像的路径列表。具体实现过程如下:
1. 根据指定的参数 id,生成标签图像和原始图像的路径。
2. 分别读取标签图像和原始图像的路径列表,并按照文件名排序。
3. 构建一个空列表 imgs_list,用于存储含有车辆的图像路径。
4. 遍历原始图像路径列表,依次读取对应位置的标签图像和原始图像。
5. 对于每个原始图像,根据标签图像中像素的值,筛选出含有车辆的像素,并得到这些像素对应的车辆 ID。
6. 如果当前原始图像中不存在车辆,则直接跳过。
7. 否则,将当前原始图像的路径加入 imgs_list 中。
8. 最后,返回所有含有车辆的原始图像路径列表。
阅读全文