如何解决如何将numpy数组存储到csv文件
这是我的代码段:
from detectron2.utils.visualizer import ColorMode
from detectron2.structures import pairwise_iou
import random
import numpy
from numpy import savetxt
dataset_dicts = DatasetCatalog.get('/content/scaphoid/test')
for d in random.sample(dataset_dicts,20):
im = cv2.imread(d["file_name"])
outputs = predictor(im)
v = Visualizer(im[:,:,::-1],metadata=microcontroller_metadata,scale=0.8)
v = v.draw_instance_predictions(outputs["instances"].to("cpu"))
bb2 =(outputs["instances"].get_fields()["pred_boxes"].tensor.to("cpu").numpy())
#numpy.savetxt("/content/output/bb2.csv",bb2,delimiter=',',header="xmin,ymin,xmax,ymax",comments="")
我想将bb2 np数组存储到一个csv文件中。 我尝试使用带注释的语句,但这仅保存了bb2的最后一个值,而不是所有值 我该怎么做? 谁能帮忙
解决方法
您在for循环中编写了numpy.savetxt语句,但没有追加数组,这就是为什么它会用最新值不断覆盖数组和csv文件的原因。
您可以创建一个空数组:
final = np.array([])
然后在bb2=(outputs["instances"].get_fields(["pred_boxes"].tensor.to("cpu").numpy())
之后
在for循环中编写以下代码:
final = np.append(final,bb2)
最后在for循环之外,编写numpy.savetxt语句:
numpy.savetxt("/content/output/bb2.csv",final,delimiter=',',header="xmin,ymin,xmax,ymax",comments="")
希望这可以解决您的问题!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。