这部分我们主要完成了硬件设备的检测和调试。
脚本测试。运行该程序来测试您的平台是否可以正确执行您的脚本。
导入参数解析
默认arg_test():
解析器=argparse.ArgumentParser()
parser.add_argument(\’–foo\’, help=\’foo help\’)
args=parser.parse_args()
打印(args.foo)
def list_test():
列表1=[\’a\’,\’b\’,\’c\’]
a、b、c=列表1
打印(a,b,c)
如果__name__==\’__main__\’:
#arg_test()
列表测试()
相机测试。用于检测摄像头硬件是否正常工作,并调用相应的图像检测模块。
# 将上层目录添加到sys中
导入操作系统、系统
Parent_path=os.path.abspath(os.path.join(__file__, *([\’.\’] * 2)))
sys.path.insert(0, 父路径)
从相机导入
导入CV2,时间
将numpy 导入为np
从paddle_jetson 导入MotHuman、YoloeInfer、HumanAtrr、OCRReco、LaneInfer
如果__name__==\’__main__\’:
yoloe_test()
# hum_mot_test()
#attr_test()
#infer_test()
#cam_test()
#OCR_测试()
#cam_infer_test()
yoloe_test:使用yolo架构测试yolo模块是否成功运行。
def yoloe_test():
帽子=相机(2)
# 推断=YoloeInfer(\’front_model\’, \’trt_fp32\’)
# 推断=YoloeInfer(\’front_model\’)
# 推断=YoloeInfer(\’ppyoloe_crn_s_400e_coco_wbt\’)
# 推断=YoloeInfer(\’front_model2\’, \’trt_fp16\’)
# 推断=YoloeInfer(\’front_model2\’, \’trt_fp32\’)
# 推断=YoloeInfer(\’front_model\’, \’trt_fp16\’)
# 推断=YoloeInfer(\’mot_ppyoloe_s_36e_pipeline\’)
# 推断=YoloeInfer(\’mot_ppyoloe_s_36e_pipeline\’)
推断=YoloeInfer(\’task_model3\’)
# 推断=YoloeInfer(\’ppyoloe_plus_crn_t_auxhead_448_300e_coco\’)
print(\’开始正常\’)
time_l=time.time()
而True:
img=cap.read()
响应=infer.predict(img)
打印(回复)
: 用于ret 响应
# cv 画一个盒子
标签=ret.label_name
bbox=ret.bbox
cv2.矩形(img, (bbox[0], bbox[1]), (bbox[2], bbox[3]), (0, 255, 0), 2)
cv2.putText(img, 标签, (bbox[0], bbox[1] – 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 1)
fps=int(1/(time.time() – time_l))
time_l=time.time()
打印(\’fps:\’,fps)
# cv2.putText(img, \’fps:{}\’.format(fps), (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
cv2.imshow(\’img\’, img)
密钥=cv2.waitKey(10)
如果键==ord(\’q\’):
休息
cap.close()
cv2.destroyAllWindows()
hum_mot_test:该函数使用MotHuman类进行多目标人体跟踪,并可视化跟踪结果。显示图像每一帧的跟踪结果并计算帧速率。
def hum_mot_test():
帽子=相机(2)
cap.start_back_thread()
mot_hum=MotHuman()
而True:
time_l=time.time()
img=cap.read()
res=mot_hum.predict(img, Visualize=True)
fps=int(1/(time.time() – time_l))
# time_l=time.time()
打印(\’fps:\’,fps)
# cv2.putText(img, \’fps:{}\’.format(fps), (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
打印(分辨率)
cv2.imshow(\’img\’, img)
密钥=cv2.waitKey(10)
如果键==ord(\’q\’):
休息
cv2.destroyAllWindows()
cap.close()
OCR_test:该函数使用OCRReco 类对图像执行光学字符识别(OCR) 并输出识别结果。
def OCR_test():
图片=cv2.imread(\’12.jpg\’)
ocr=OCRReco()
res=ocr.predict(图像)
# 对于res:的bbox
# bbox=bbox.astype(np.int32)
# 打印(bbox)
# cv2.line(图像, bbox[0], bbox[1], (0, 0, 255), 2)
# cv2.line(图像, bbox[1], bbox[2], (0, 0, 255), 2)
# cv2.line(图像, bbox[2], bbox[3], (0, 0, 255), 2)
# cv2.line(图像, bbox[3], bbox[0], (0, 0, 255), 2)
# # cv2.putText(im, bbox[4], (bbox[0][0], bbox[0][1] – 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 0, 255), 1)
# cv2.imwrite(\’res.jpg\’, 图像)
打印(分辨率)
attr_test:使用HumanAtrr类预测人类属性并输出预测结果的函数。
def attr_test():
im=cv2.imread(\’h5.jpg\’)
推理=HumanAtrr()
响应=猜测(im)
打印(回复)
cam_test:从相机读取并显示图像、显示图像并计算帧速率的函数。
def cam_test():
帽子=相机(2)
cap.start_back_thread()
#ocr=OCRReco()
帧率=0
开始时间=时间.time()
而True:
img=cap.read()
# res=ocr.predict(img)
# 打印(分辨率)
fps=int(1/(time.time() – start_time))
开始时间=时间.time()
# 打印(\’fps:\’, fps)
# cv2.putText(img, \’fps:{}\’.format(fps), (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
cv2.imshow(\’img\’, img)
密钥=cv2.waitKey(10)
如果键==ord(\’q\’):
休息
cap.close()
infer_test:使用LaneInfer类检测图像上的车道边界并输出检测结果的函数。
def infer_test():
im=cv2.imread(\’1.png\’)
# 推理=YoloInfer()
推理=LaneInfer()
响应=猜测(im)
打印(回复)
cam_infer_test:该函数从摄像头读取图像,使用LaneInfer类检测车道标记,并输出检测结果和帧速率。
def cam_infer_test():
上限=cv2.VideoCapture(0)
推理=LaneInfer()
time_start=time.time()
而True:
ret, img=cap.read()
对于ret:
响应=猜测(图像)
打印(回复)
fps=1/(时间.time()-time_start)
打印(\’fps:\’,fps)
time_start=time.time()
# cv2.putText(img, \’fps:{}\’.format(fps), (10, 30), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
# cv2.imshow(\’img\’, img)
密钥=cv2.waitKey(10)
如果键==ord(\’q\’):
休息
至此,已经完成了脚本注入检测和图像硬件检测,并设计了各种视觉识别模块的测试接口,以供后续模型测试。
#2024全国大学生智能汽车大赛——创意组,同舟共济主机电脑控制硬件检测:以上有关脚本注入和摄像头检测的信息仅供参考。相关信息请参见官方公告。
原创文章,作者:CSDN,如若转载,请注明出处:https://www.sudun.com/ask/91810.html