Opencv Python 简明教程
OpenCV Python - Draw Shapes and Text
在本章中,我们将学习如何在 OpenCV-Python 的帮助下在图像中绘制形状和文本。让我们从了解在图像上绘制形状开始。
Draw Shapes on Images
我们需要了解 OpenCV-Python 中所需的函数,这有助于我们绘制图像上的形状。
Functions
OpenCV-Python 程序包(称为 cv2)包含以下用于绘制相应形状的函数。
Function |
Description |
Command |
cv2.line() |
绘制连接两个点的线段。 |
cv2.line(img, pt1, pt2, color, thickness) |
cv2.circle() |
在给定点处绘制指定半径的圆作为中心 |
cv2.circle(img, center, radius, color, thickness) |
cv2.rectangle |
绘制一个矩形,给定点为左上和右下。 |
cv2.rectangle(img, pt1, pt2, color, thickness) |
cv2.ellipse() |
绘制简单或粗糙的椭圆弧或填充椭圆扇形。 |
cv2.ellipse(img, center, axes, angle, startAngle, endAngle, color, thickness) |
Parameters
以上函数的通用参数如下 −
Sr.No. |
Function & Description |
1 |
img 您想绘制形状的图像 |
2 |
color 形状的颜色。对于 BGR,将它作为元组传递。对于灰度,只需传递标量值。 |
3 |
thickness 线或圆等的粗细。如果为封闭图形(如圆形)传递-1,它将填充该形状。 |
4 |
lineType 线型,8 方向连接、抗锯齿线等。 |
Example
以下示例显示如何在图像上绘制形状。程序如下 −
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()
Draw Text
提供 cv2.putText() 函数在图像上写文本。命令如下 −
img, text, org, fontFace, fontScale, color, thickness)
Fonts
OpenCV 支持以下字体 −
Font Name |
Font Size |
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 |
FONT_ITALIC |
16 |