python与传参到c借口编码需要转一下,所有字符串前面加一个b或者转utf-8就可以了。
import sys, os
sys.path.append('/home/lab601/project/yolo_v3/darknet/python')
import darknet as dn
import pdb
dn.set_gpu(0)
net = dn.load_net("/home/lab601/project/yolo_v3/darknet/cfg/yolov3-voc.cfg".encode('utf-8'), "/home/lab601/project/yolo_v3/darknet/yolov3.weights".encode('utf-8'), 0)#"../backup/yolov3-voc_10000.weights"
meta = dn.load_meta("/home/lab601/project/yolo_v3/darknet/cfg/voc.data".encode('utf-8'))
# r = dn.detect(net, meta, "/home/lab601/project/yolo_v3/darknet/data/bedroom.jpg".encode('utf-8'))
# print(r)
# And then down here you could detect a lot more images like:
r = dn.detect(net, meta, "../data/eagle.jpg".encode('utf-8'))
print(r)
r = dn.detect(net, meta, "../data/giraffe.jpg".encode('utf-8'))
print(r)
r = dn.detect(net, meta, "../data/horses.jpg".encode('utf-8'))
print(r)
r = dn.detect(net, meta, "../data/person.jpg".encode('utf-8'))
print(r)
问题解决。
T