2024全国大学生智能汽车竞赛——创意组 风雨同舟 上位机控制硬件检测:脚本注入及摄像头检测

2024全国大学生智能汽车竞赛——创意组 风雨同舟 上位机控制硬件检测:脚本注入及摄像头检测这一部分我们主要完成了对于硬件设备的检测和调试工作。 脚本测试,运行这段程序可以测试平台能够正确运行脚本
import argpar

这部分我们主要完成了硬件设备的检测和调试。

脚本测试。运行该程序来测试您的平台是否可以正确执行您的脚本。

导入参数解析

默认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

(0)
CSDN的头像CSDN
上一篇 2024年6月23日
下一篇 2024年6月23日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注