一、基本用法
示例文件为:~darknet/python/darknet.py
- 在最后修改配置文件和权重;
- 修改
libdarknet.so
的调用路径(若修改后还是找不到,则修改文件权限); - 报错:
ctypes.ArgumentError: argument 1: <class 'TypeError'>: wrong type
- 原因:net = load_net(“cfg/tiny-yolo.cfg”, “tiny-yolo.weights”, 0)这个函数最后会将”cfg/tiny-yolo.cfg”, “tiny-yolo.weights”这些参数传给libdarknet.so这个库中,而这个库是用c/c++来写的,所以出现了这个错误。
- 解决方法:在出错的字符串前面添加一个b即可,即改为:
- 报错:
net = load_net(b"cfg/yolov3.cfg", b"backup/yolov3.weights", 0)
meta = load_meta(b"cfg/voc.data")
r = detect(net, meta, b"img.jpg")
或者
net = load_net("cfg/tiny-yolo.cfg".encode('utf-8'), "tiny-yolo.weights".encode('utf-8'), 0)
meta = load_meta("cfg/coco.data".encode('utf-8'))
r = detect(net, meta, "data/dog.jpg".encode('utf-8'))
二、添加自己的功能
darknet.py返回的结果的坐标是:(b.x, b.y, b.w, b.h)即(中心点x,中心点y,宽,高)
网友评论