#Re
adI
R
model=ie.read_model(model="yolov8s-obb.onnx")
com
pi
led
_model=ie.compile_model(model=model,device_name="
CPU
")
output_layer=compiled_model.output(0)
##xywhr
frame=cv.imread("D:/wh860.jpg")
#frame=cv.imread("wh300.jpg")
#frame=cv.imread("obb_01.jpeg")
bgr=format_yolov8(frame)
img_h,img_w,img_c=bgr.shape
start=
ti
me.time()
image=cv.dnn.blobFromImage(bgr,1/255.0,(1024,1024),swapRB=True,crop=False)
res=compiled_model([image])[output_layer]#1x25x8400
rows=np.squeeze(res,0).T
boxes,confidences,angles,class_ids=post_process(rows)
indexes=cv.dnn.NMSBoxes(boxes,confidences,0.25,0.45)
M=np.ze
ros
((2,3),dtype=np.float32)
forindexinindexes:
box=boxes[index]
d1=-angles[index]
color=colors[int(class_ids[index])%len(colors)]
pts=[(box[0],box[1]),(box[0]+box[2],box[1]),(box[0]+box[2],box[1]+box[3]),(box[0],box[1]+box[3])]
rrt_pts=get_rotate_point(pts,M,d1,box)
cv.drawContours(frame,[np.asarray(rrt_pts).astype(np.int32)],0,(255,0,255),2)
cv.rectangle(frame,(box[0],box[1]-20),(box[0]+box[2],box[1]),color,-1)
cv.put
Te
xt(frame,class_list[class_ids[index]],(box[0],box[1]-8),cv.FONT_HERSHEY_
SIM
PLEX,.5,(255,255,255))
end=time.time()
inf_end=end-start
fps=1/inf_end
fps_label="FPS:%.2f"%fps
cv.putText(frame,fps_label,(20,45),cv.FONT_HERSHEY_SIMPLEX,1,(0,0,255),2)
cv.imshow("YOLOv8-obb+OpenVINO2023.xObjectDetection",frame)
cv.imwrite("D:/wk_result.jpg",frame)
cv.waitKey(0)
cv.destroyAllWindows()
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。