opencv 画框

news/2024/11/9 2:38:13/

利用yolo的输出,中心和wh

用的torch框架

cap = cv2.VideoCapture('.//6.mp4')
while True:ret, frame = cap.read()ori_img = frame #存个原图用于显示frame = cv2.cvtColor(frame,cv2.COLOR_BGR2RGB) #opencv读取是BGR的格式img1=np.array(frame)res_img = cv2.resize(img1, (cfg["width"], cfg["height"]), interpolation = cv2.INTER_LINEAR)img = res_img.reshape(1, cfg["height"], cfg["width"], 3)#改成网络需要的大小img = torch.from_numpy(img.transpose(0,3, 1, 2))  #channel first 再加个batchimg = img.to(device).float() / 255.0#特征图后处理output = utils.utils.handel_preds(preds, cfg, device)output_boxes = utils.utils.non_max_suppression(output, conf_thres=0.7, iou_thres = 0.4)h, w, _ = ori_img.shapescale_h, scale_w = h / cfg["height"], w / cfg["width"] #用于改成原图上的相对大小for box in output_boxes[0]:box = box.tolist()obj_score = box[4]category = LABEL_NAMES[int(box[5])]x1, y1 = int(box[0] * scale_w), int(box[1] * scale_h)x2, y2 = int(box[2] * scale_w), int(box[3] * scale_h)cv2.rectangle(ori_img, (x1, y1), (x2, y2), (255, 255, 0), 2)cv2.putText(ori_img, '%.2f' % obj_score, (x1, y1 - 5), 0, 0.7, (0, 255, 0), 2)cv2.putText(ori_img, category, (x1, y1 - 25), 0, 0.7, (0, 255, 0), 2)cv2.imshow("test_result.png", ori_img) #show放在 循环标框的后面if cv2.waitKey(1) & 0xFF==ord('q'): # 按键q后breakcap.release()break

cap.release() # 对应while结束
cv2.destroyWindow()

重点

img1=np.array(frame) #有时候用的 PIL.Image.read() 返回的是个类
res_img = cv2.resize(img1, (cfg["width"], cfg["height"]), interpolation = cv2.INTER_LINEAR)
img = torch.from_numpy(img.transpose(0,3, 1, 2))  #channel first 再加个batchimg = img.to(device).float() / 255.0 #很对时候忘记归一化

还有就是

#这个得有if cv2.waitKey(1) & 0xFF==ord('q'): # 按键q后breakcap.release()break
cap.release() # 对应while结束
cv2.destroyWindow()     

http://www.ppmy.cn/news/544421.html

相关文章

Opencv 在图像上进行标注(画框+写字)

在做目标检测时,检测到目标后,通常要用矩形框框选出目标的位置,并在旁边附上标签 在opencv实现这一目标主要用到两个函数,rectangle()和putText() 函数原型: void rectangle(Mat& img, Rect rec, const Scalar&a…

分享一个图像上画框程序

一、前言 分享一个图像上画框程序,代码转自 python opencv鼠标画矩形框之cv2.rectangle()函数 - 华域联盟 二、代码 # -*- coding: utf-8 -*- """ Created on Fri Jul 23 14:35:37 2021"""# -*- coding: utf-8 -*-import copy imp…

opencv--在图片上画框(2)

参考网站&#xff1a;参考网站 //编译步骤&#xff1a; mkdir build // cd build // sudo cmake .. // sudo make // ./draw // 运行----点击任意非ESC按键----鼠标开始框选 #include<iostream> #include <cstdio> #include <cstdlib> #include <opencv…

矩形画框控件代码

wpf中的代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.CompilerServices; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using …

创意画框设计

完成如下画框&#xff0c;需要用到线性渐变background-image:linear-gradient&#xff0c;盒子阴影设置box-shadow以及透明度设置opacity。 代码详细描述请看下图&#xff1a; 代码块 <!doctype html> <html> <head> <meta charset"utf-8"&g…

opencv如何在图像上画框

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、基于普通矩形Rect画框二、基于旋转矩形RotatedRect画框 前言 第一种方法基于矩形rect画框&#xff0c;第二种基于旋转矩形rotatedrect画框 一、基于普通矩…

第37.1节 框选-绘制框选框

目录 首先祝大家国庆快乐本节内容实现要点以下为全部代码 首先祝大家国庆快乐 本节内容 本节开始介绍鼠标选择的操作。正常情况下我们都会在场景中使用鼠标框选一些物体。本节我们绘制了框选框&#xff0c;程序启动后&#xff0c;按住键盘上的左CTRL键&#xff0c;然后鼠标在…

python PyQt5如何绘制矩形框?(画框/绘框)

参考代码&#xff1a; from PyQt5.QtWidgets import QWidget, QApplication, QLabel from PyQt5.QtCore import QRect, Qt from PyQt5.QtGui import QImage, QPixmap, QPainter, QPen, QGuiApplication import cv2 import sys class MyLabel(QLabel):x0 0y0 0x1 0y1 0flag…