当前位置: 首页 > news >正文

大气建站工作室网站源码杭州做网站的

大气建站工作室网站源码,杭州做网站的,沈阳网站设计制作,跑胡子网站开发yolov8 opencv模型部署#xff08;python版#xff09; 使用opencv推理yolov8模型#xff0c;以yolov8n为例子#xff0c;一共几十行代码#xff0c;没有废话#xff0c;给出了注释#xff0c;从今天起#xff0c;少写一行代码#xff0c;少掉一根头发。测试数据有需…yolov8 opencv模型部署python版 使用opencv推理yolov8模型以yolov8n为例子一共几十行代码没有废话给出了注释从今天起少写一行代码少掉一根头发。测试数据有需要见文章结尾。 一、安装yolov8 conda create -n yolov8 python3.9 -y conda activate yolov8 pip install ultralytics -i https://pypi.tuna.tsinghua.edu.cn/simple二、导出onnx 导出onnx格式模型的时候注意如果你是自己训练的模型只需要把以下代码中yolov8n.pt修改为自己的模型即可如best.pt。如果是下面代码中默认的模型并且你没有下载到本地系统会自动下载我这里在文章末尾提供了下载链接。 将以下代码创建、拷贝到yolov8根目录下。 具体代码my_export.py from ultralytics import YOLO # Load a model model YOLO(yolov8n.pt) # load an official model # Export the model model.export(formatonnx, opset12)执行导出命令 python my_export.py输出如下图信息表明onnx格式的模型被成功导出保存在my_export.py同一级目录。 三、基于opencv推理onnx 在章节一中安装了ultralytics的时候默认安装了opencv-python4.8.0.74所以推理的时候可以直接利用这个python环境。将以下代码创建、拷贝到yolov8根目录下。 具体代码infer_opencv.py import argparse import cv2.dnn import numpy as np 注意如果你推理自己的模型以下类别需要改成你自己的具体类别# coco80个类别 CLASSES {0: person, 1: bicycle, 2: car, 3: motorcycle, 4: airplane, 5: bus, 6: train, 7: truck, 8: boat, 9: traffic light, 10: fire hydrant, 11: stop sign, 12: parking meter, 13: bench, 14: bird, 15: cat, 16: dog, 17: horse, 18: sheep, 19: cow, 20: elephant, 21: bear, 22: zebra, 23: giraffe, 24: backpack, 25: umbrella, 26: handbag, 27: tie, 28: suitcase, 29: frisbee, 30: skis, 31: snowboard, 32: sports ball, 33: kite, 34: baseball bat, 35: baseball glove, 36: skateboard, 37: surfboard, 38: tennis racket, 39: bottle, 40: wine glass, 41: cup, 42: fork, 43: knife, 44: spoon, 45: bowl, 46: banana, 47: apple, 48: sandwich, 49: orange, 50: broccoli, 51: carrot, 52: hot dog, 53: pizza, 54: donut, 55: cake, 56: chair, 57: couch, 58: potted plant, 59: bed, 60: dining table, 61: toilet, 62: tv, 63: laptop, 64: mouse, 65: remote, 66: keyboard, 67: cell phone, 68: microwave, 69: oven, 70: toaster, 71: sink, 72: refrigerator, 73: book, 74: clock, 75: vase, 76: scissors, 77: teddy bear, 78: hair drier, 79: toothbrush} # 80个类别对应80中随机颜色 colors np.random.uniform(0, 255, size(len(CLASSES), 3))# 绘制 def draw_bounding_box(img, class_id, confidence, x, y, x_plus_w, y_plus_h):label f{CLASSES[class_id]} ({confidence:.2f})color colors[class_id]# 绘制矩形框cv2.rectangle(img, (x, y), (x_plus_w, y_plus_h), color, 2)# 绘制类别cv2.putText(img, label, (x - 10, y - 10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, color, 2)def main(onnx_model, input_image):# 使用opencv读取onnx文件model: cv2.dnn.Net cv2.dnn.readNetFromONNX(onnx_model)# 读取原图original_image: np.ndarray cv2.imread(input_image)[height, width, _] original_image.shapelength max((height, width))image np.zeros((length, length, 3), np.uint8)image[0:height, 0:width] original_imagescale length / 640 # 缩放比例# 设置模型输入blob cv2.dnn.blobFromImage(image, scalefactor1 / 255, size(640, 640), swapRBTrue)model.setInput(blob)# 推理outputs model.forward() # output: 1 X 8400 x 84outputs np.array([cv2.transpose(outputs[0])])rows outputs.shape[1]boxes []scores []class_ids []# outputs有8400行遍历每一行筛选最优检测结果for i in range(rows):# 找到第i个候选目标在80个类别中最可能的类别classes_scores outputs[0][i][4:] # classes_scores:80 X 1(minScore, maxScore, minClassLoc, (x, maxClassIndex)) cv2.minMaxLoc(classes_scores)if maxScore 0.25:box [# cx cy w h - x y w h outputs[0][i][0] - (0.5 * outputs[0][i][2]), outputs[0][i][1] - (0.5 * outputs[0][i][3]),outputs[0][i][2], outputs[0][i][3]]boxes.append(box) #边界框scores.append(maxScore) # 置信度class_ids.append(maxClassIndex) # 类别# opencv版最极大值抑制result_boxes cv2.dnn.NMSBoxes(boxes, scores, 0.25, 0.45, 0.5)for i in range(len(result_boxes)):index result_boxes[i]box boxes[index]draw_bounding_box(original_image, class_ids[index], scores[index], round(box[0] * scale), round(box[1] * scale),round((box[0] box[2]) * scale), round((box[1] box[3]) * scale))cv2.imshow(image, original_image)cv2.waitKey(0)cv2.destroyAllWindows()if __name__ __main__:parser argparse.ArgumentParser()parser.add_argument(--model, defaultyolov8n.onnx, helpInput your onnx model.)parser.add_argument(--img, defaultstr(bus.jpg), helpPath to input image.)args parser.parse_args()main(args.model, args.img) 在终端执行推理命令命令如下 python infer_opencv.py --model yolov8n.onnx --img bus.jpg效果图如图所示 资源下载可以自己使用文章代码生成也可以使用以下资源 链接https://pan.baidu.com/s/1mCBx_TVpUhpREoMXhRIlJw?pwdfkmt 提取码fkmt
http://www.eeditor.cn/news/120349/

相关文章:

  • 织梦免费网站模块完整网站模板下载
  • 网站关键词在哪里添加北京网站建设+知乎
  • 手机高端网站建设汽车品牌推广策划方案
  • 建设银行网站首页网站建设与开发教学大纲
  • 化妆品网站建设经济可行性分析建教会网站的内容
  • 网站推广成功案例wordpress 视频展示
  • 内江网站建设新闻logo设计网站哪个好一些
  • 嘉兴模板建站定制网站php网站建设面试
  • 没有防盗链的网站网站建设内容策划
  • 做营销网站的企业电商网站开发平台哪个好
  • 那里有网站建设网站建设实习业务介绍
  • 百度网站建设电话个人卖货平台
  • 龙华品牌网站建设html5视频标签
  • 如何识别网站的建站程序p2p商城网站建设
  • 导购分享网站模板重写路由 wordpress
  • 网站管理系统后台如何注册网站域名
  • 中文商城html网站模板外贸建站哪家公司专业
  • 金融网站建设银行关键词排名优化软件策略
  • 阿里云建网站费用免费logo制作软件
  • 建设银行手机网站微信小程序代码生成器
  • 互联网一二线大厂名单上海知名的seo推广咨询
  • 网站引流是什么意思青海哪家做网站的公司最大
  • 截图按钮图标素材网站淄博网站制作定制推广
  • 网站基础模块建设网站用户后台是怎么做的
  • 佛山cms模板建站温州专业做网站
  • 检察门户网站 建设意义网站开发一般会用到什么语言
  • 用什么做视频网站比较好做网站推广优化
  • 网站推广软文欣赏展示型手机网站
  • 网站推广网室内设计和网站建设哪个前景好
  • 电子商务网站开发基本流程华为手机价格一览表