- OpenCV Python 教程
- OpenCV Python - 主页
- OpenCV Python - 概述
- OpenCV Python - 环境
- OpenCV Python - 读取图像
- OpenCV Python - 写入图像
- OpenCV Python - 使用 Matplotlib
- OpenCV Python - 图像属性
- OpenCV Python - 位运算
- OpenCV Python - 形状和文本
- OpenCV Python - 鼠标事件
- OpenCV Python - 添加轨迹栏
- OpenCV Python - 调整大小和旋转
- OpenCV Python - 图像阈值
- OpenCV Python - 图像过滤
- OpenCV Python - 边缘检测
- OpenCV Python - 直方图
- OpenCV Python - 颜色空间
- OpenCV Python - 转换
- OpenCV Python - 图像轮廓
- OpenCV Python - 模板匹配
- OpenCV Python - 图像Pyramid
- OpenCV Python - 图像相加
- OpenCV Python - 图像混合
- OpenCV Python - 傅里叶变换
- OpenCV Python - 捕获视频
- OpenCV Python - 播放视频
- OpenCV Python - 视频图像
- OpenCV Python - 来自图像的视频
- OpenCV Python - 人脸检测
- OpenCV Python - Meanshift/Camshift
- OpenCV Python - 特征检测
- OpenCV Python - 特征匹配
- OpenCV Python - 数字识别
- OpenCV Python 资源
- OpenCV Python - 快速指南
- OpenCV Python - 资源
- OpenCV Python - 讨论
OpenCV Python - 绘制形状和文本
在本章中,我们将学习如何借助 OpenCV-Python 在图像上绘制形状和文本。让我们首先了解如何在图像上绘制形状。
在图像上绘制形状
我们需要了解 OpenCV-Python 中所需的函数,这有助于我们在图像上绘制形状。
功能
OpenCV-Python 包(称为 cv2)包含以下用于绘制相应形状的函数。
功能 | 描述 | 命令 |
---|---|---|
CV2.line() | 绘制连接两点的线段。 | cv2.line(img, pt1, pt2, 颜色, 粗细) |
cv2.circle() | 以给定点为圆心绘制给定半径的圆 | cv2.circle(img,中心,半径,颜色,厚度) |
cv2.矩形 | 以给定点作为左上角和右下角绘制一个矩形。 | cv2.rectangle(img, pt1, pt2, 颜色, 厚度) |
cv2.椭圆() | 绘制简单或粗的椭圆弧或填充椭圆扇形。 | cv2.ellipse(img, 中心, 轴, 角度, startAngle, endAngle, 颜色, 厚度) |
参数
上述函数的通用参数如下 -
先生。 | 功能说明 |
---|---|
1 | 图像 您要在其中绘制形状的图像 |
2 | 颜色 形状的颜色。对于 BGR,将其作为元组传递。对于灰度,只需传递标量值。 |
3 | 厚度 直线或圆等的粗细。如果对于圆形等封闭图形传递-1,它将填充形状。 |
4 | 线型 线路类型,是否8连线、抗锯齿线等。 |
例子
以下示例显示了如何在图像顶部绘制形状。下面给出了相同的程序 -
import numpy as np import cv2 img = cv2.imread('LENA.JPG',1) cv2.line(img,(20,400),(400,20),(255,255,255),3) cv2.rectangle(img,(200,100),(400,400),(0,255,0),5) cv2.circle(img,(80,80), 55, (255,255,0), -1) cv2.ellipse(img, (300,425), (80, 20), 5, 0, 360, (0,0,255), -1) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows()
输出
绘制文字
提供cv2.putText ()函数来在图像上写入文本。其命令如下 -
img, text, org, fontFace, fontScale, color, thickness)
字体
OpenCV 支持以下字体 -
字体名称 | 字体大小 |
---|---|
FONT_HERSHEY_SIMPLEX | 0 |
FONT_HERSHEY_PLAIN | 1 |
FONT_HERSHEY_DUPLEX | 2 |
FONT_HERSHEY_COMPLEX | 3 |
FONT_HERSHEY_TRIPLEX | 4 |
FONT_HERSHEY_COMPLEX_SMALL | 5 |
FONT_HERSHEY_SCRIPT_SIMPLEX | 6 |
FONT_HERSHEY_SCRIPT_COMPLEX | 7 |
斜体字体 | 16 |
例子
以下程序为著名足球运动员莱昂内尔·梅西的照片添加了文字说明。
import numpy as np import cv2 img = cv2.imread('messi.JPG',1) txt="Lionel Messi" font = cv2.FONT_HERSHEY_SIMPLEX cv2.putText(img,txt,(10,100), font, 2,(255,255,255),2,cv2.LINE_AA) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows()