opencv—常用函数学习_“干货“_14

目录

三六、绘制几何与文本

绘制直线 (line)

绘制圆 (circle)

绘制矩形 (rectangle)

绘制椭圆 (ellipse)

绘制多边形 (polylines)

绘制箭头线 (arrowedLine)

绘制标记 (drawMarker)

绘制文本 (putText)

资料整理不易,觉得有用给个赞和搜藏吧

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中的绘图函数在图像上绘制各种几何图形和文本。这些基本的绘图操作在图像处理、计算机视觉、数据可视化等领域有着广泛的应用。

资料整理不易,觉得有用给个赞和搜藏吧

相关推荐
Carl_奕然4 分钟前
【智能体】Loop 的四种设计模式之:Hill Climbing Loop(2026 最新版)
人工智能·python·设计模式
Rocky Ding*5 分钟前
深度解析LlamaGen核心基础知识
论文阅读·人工智能·深度学习·机器学习·aigc·ai-native·llamagen
hai3152475438 分钟前
语言学矩阵原理
人工智能·机器学习·矩阵
Omics Pro9 分钟前
~30,000+引用!理论2005,R包2008,多组学集成AI增强
开发语言·数据库·人工智能·算法·机器学习·自然语言处理·r语言
ZzT11 分钟前
拆开 Claude Code、Codex 等 11 个 coding agent:没有一个用 LangChain,也没有一个用向量检索代码
人工智能·ai编程·claude
Kstheme13 分钟前
受 Karpathy ASD-STE100的启发,我把论文讲解做成了一个开源 Skill
人工智能
EatFan14 分钟前
MCP 从概念到落地:Java(Spring AI Alibaba)与 .NET 双栈接入实操对比
java·人工智能·后端·spring·.net·java后端·mcp
ZzT21 分钟前
Agent-Reach 是什么:一句话让 AI agent 读推特、Reddit、B 站和小红书
人工智能·ai编程·claude
aixingkong92126 分钟前
Agentic AI时代的处理器算力需求和Nvidia、ARM、AMD等大厂的回答
arm开发·人工智能
why-geo27 分钟前
从“会聊天”到“能办事”:Meta Muse与国内个人AI智能体的竞速赛
大数据·人工智能