opencv画矩形(opencv画矩形框)
简介:
OpenCV是一个非常流行的计算机视觉库,它可以用于处理图像和视频等多媒体数据。本文将详细介绍如何在OpenCV中画矩形。
多级标题:
一、在图像中画矩形的基本方法
二、在视频中画矩形的方法
三、在摄像头实时画矩形的方法
一、在图像中画矩形的基本方法:
画矩形可以使用OpenCV中的cv2.rectangle()函数,在给定的图像上绘制矩形。cv2.rectangle()函数有五个参数——图像、矩形左上角坐标、矩形右下角坐标、矩形颜色和矩形线宽。下面是一个简单的画矩形的代码示例:
```
import cv2
# 读取图片
img = cv2.imread('test.jpg')
# 画矩形
cv2.rectangle(img, (100,100), (200,200), (0,0,255), 2)
# 显示图片
cv2.imshow('image', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
代码解释:先读取一张名为test.jpg的图片,然后在(100,100)到(200,200)的区域中画出一个红色的矩形,线宽为2。最后显示图片并等待键盘输入,按任意键关闭显示窗口。
二、在视频中画矩形的方法:
在视频中画矩形的方法与在图像中画矩形的方法类似,只需要用cv2.VideoCapture()函数读取视频文件,然后在每个视频帧上画出矩形即可。下面是一个简单的画矩形的视频代码示例:
```
import cv2
# 打开视频文件
cap = cv2.VideoCapture('test.avi')
while(cap.isOpened()):
# 读取视频帧
ret, frame = cap.read()
# 画矩形
cv2.rectangle(frame, (100,100), (200,200), (0,0,255), 2)
# 显示视频帧
cv2.imshow('video', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放资源
cap.release()
cv2.destroyAllWindows()
```
代码解释:打开名为test.avi的视频文件,然后读取每一帧并在每个视频帧上画出矩形。按键盘上的"q"键停止播放,最后释放资源并关闭窗口。
三、在摄像头实时画矩形的方法:
在摄像头实时画矩形的方法与在视频中画矩形的方法类似,只是需要使用cv2.VideoCapture(0)函数来连接电脑上的默认摄像头。下面是一个简单的摄像头实时画矩形的代码示例:
```
import cv2
# 打开摄像头
cap = cv2.VideoCapture(0)
while(True):
# 读取视频帧
ret, frame = cap.read()
# 画矩形
cv2.rectangle(frame, (100,100), (200,200), (0,0,255), 2)
# 显示视频帧
cv2.imshow('video', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放资源
cap.release()
cv2.destroyAllWindows()
```
代码解释:打开计算机上默认的图像采集设备并捕获帧,然后在每个帧上画出矩形,并显示在屏幕上。按键盘上的"q"键停止播放。最后释放资源并关闭窗口。
以上是Opencv画矩形的三种方法,希望读者能够根据自己的需求将其灵活运用。