目录
http://t.csdnimg.cn/i8pqt ------ opencv---常用函数学习_"干货"_总(VIP)
散的正在一部分一部分发,不需要VIP。
资料整理不易,有用话给个赞和收藏吧。
三六、绘制几何与文本
在OpenCV中,绘制几何图形和文本是图像处理中的基本操作。OpenCV提供了一些函数来绘制直线、矩形、圆、椭圆、多边形、箭头线、标记和文本。下面介绍这些函数及其使用示例。
|-----------|-------------|------------|---------|
| 绘制几何图形与文本函数 ||||
| line | circle | rectangle | ellipse |
| 绘制直线 | 绘制圆 | 绘制矩形 | 绘制椭圆 |
| polylines | arrowedLine | drawMarker | putText |
| 绘制多边形 | 绘制箭头线 | 绘制标记 | 绘制文本 |
绘制直线 (line
)
import cv2
import numpy as np
# 创建一个黑色图像
image = np.zeros((512, 512, 3), np.uint8)
# 绘制一条蓝色的直线
cv2.line(image, (0, 0), (511, 511), (255, 0, 0), 5)
# 显示图像
cv2.imshow('Line', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
绘制圆 (circle
)
# 绘制一个绿色的圆
cv2.circle(image, (256, 256), 100, (0, 255, 0), -1)
# 显示图像
cv2.imshow('Circle', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
绘制矩形 (rectangle
)
# 绘制一个红色的矩形
cv2.rectangle(image, (100, 100), (400, 400), (0, 0, 255), 3)
# 显示图像
cv2.imshow('Rectangle', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
绘制椭圆 (ellipse
)
# 绘制一个白色的椭圆
cv2.ellipse(image, (256, 256), (150, 100), 0, 0, 180, (255, 255, 255), -1)
# 显示图像
cv2.imshow('Ellipse', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
绘制多边形 (polylines
)
# 定义多边形的顶点
points = np.array([[100, 50], [200, 300], [700, 200], [500, 100]], np.int32)
points = points.reshape((-1, 1, 2))
# 绘制多边形
cv2.polylines(image, [points], True, (0, 255, 255), 3)
# 显示图像
cv2.imshow('Polylines', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
绘制箭头线 (arrowedLine
)
# 绘制一个箭头线
cv2.arrowedLine(image, (50, 50), (450, 450), (255, 255, 0), 5)
# 显示图像
cv2.imshow('Arrowed Line', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
绘制标记 (drawMarker
)
# 绘制一个标记
cv2.drawMarker(image, (256, 256), (0, 255, 255), markerType=cv2.MARKER_STAR, markerSize=40, thickness=2)
# 显示图像
cv2.imshow('Marker', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
绘制文本 (putText
)
# 绘制文本
cv2.putText(image, 'OpenCV', (100, 400), cv2.FONT_HERSHEY_SIMPLEX, 4, (255, 255, 255), 2, cv2.LINE_AA)
# 显示图像
cv2.imshow('Text', image)
cv2.waitKey(0)
cv2.destroyAllWindows()
通过这些示例代码,可以看到如何使用OpenCV中的绘图函数在图像上绘制各种几何图形和文本。这些基本的绘图操作在图像处理、计算机视觉、数据可视化等领域有着广泛的应用。