OpenCV Python 绘制形状和文本

OpenCV Python 绘制形状和文本

在本章中,我们将学习如何使用OpenCV-Python在图像上绘制形状和文本。让我们从了解如何在图像上绘制形状开始。

在图像上绘制形状

我们需要了解OpenCV-Python中的必需函数,这些函数帮助我们在图像上绘制形状。

函数

OpenCV-Python包(称为cv2)包含以下函数,用于绘制相应的形状。

功能 描述 指令
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)

参数

上述函数的常见参数如下:

序号 功能与描述
1 img 想要绘制形状的图片
2 color 形状的颜色。对于BGR,传递为元组。对于灰度图像,只需传递标量值。
3 thickness 线条或圆等的厚度。如果为闭合图形(如圆)传递-1,则将填充该形状。
4 lineType 线条的类型,如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()

输出

OpenCV Python 绘制形状和文本

绘制文字

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
FONT_ITALIC 16

示例

以下程序为一张展示着著名足球运动员Lionel Messi的照片添加了一个文本标题。

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()

输出

OpenCV Python 绘制形状和文本

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程