OpenCV,全称Open Source Computer Vision Library,是一个开源的计算机视觉库,包含了众多图像处理和计算机视觉的功能。在这个“opencv绘制形状与文字实例”中,我们将会深入探讨如何利用OpenCV在图像上绘制各种形状以及添加文字,这些都是图像处理和机器学习项目中常见的需求。 让我们从基础开始,讲解如何在图像上画线。OpenCV提供了`line()`函数,它接受四个参数:起始点,结束点,线条颜色,以及线条的宽度。例如,要在图像上画一条从(10,10)到(200,200)的红色线条,我们可以这样写: ```python import cv2 import numpy as np img = np.zeros((500, 500, 3), np.uint8) cv2.line(img, (10, 10), (200, 200), (0, 0, 255), 2) cv2.imshow('Line', img) cv2.waitKey(0) cv2.destroyAllWindows() ``` 接下来是画矩形,OpenCV的`rectangle()`函数可以实现。同样,我们需要指定矩形的顶点坐标、颜色和线条宽度。例如,画一个左上角在(10, 10),右下角在(400, 400)的蓝色矩形: ```python cv2.rectangle(img, (10, 10), (400, 400), (255, 0, 0), 2) ``` 画椭圆和圆则可以使用`ellipse()`函数。椭圆需要中心点、轴长和旋转角度,而圆只需要中心点和半径。例如,画一个中心在(250, 250),长轴半径200,短轴半径100,颜色为绿色的椭圆: ```python cv2.ellipse(img, (250, 250), (200, 100), 0, 0, 360, (0, 255, 0), 2) ``` 对于画圆,比如半径为100,中心在(300, 300)的红色圆: ```python cv2.circle(img, (300, 300), 100, (0, 0, 255), 2) ``` 多边形的绘制可以使用`polylines()`函数,它接受一个点的序列和是否闭合的布尔值。例如,画一个三角形: ```python pts = np.array([[10, 5],[20, 30],[70, 20]], np.int32) pts = pts.reshape((-1,1,2)) cv2.polylines(img,[pts],True,(0,255,255),3) ``` 至于添加文字,OpenCV的`putText()`函数可以做到。需要指定文本字符串、位置、字体、字体大小、颜色以及文本厚度。例如,在(50, 50)位置写上"Hello, OpenCV!",字体大小为30,颜色为蓝色: ```python cv2.putText(img, "Hello, OpenCV!", (50, 50), cv2.FONT_HERSHEY_SIMPLEX, 3, (255, 0, 0), 2) ``` `random_line()`函数可能是用来随机绘制线条的,这可以增加图像的复杂性和多样性,有助于测试和训练算法。 这些基本操作是OpenCV图像处理中的基石,通过它们,你可以创建复杂的图像标注、可视化结果,甚至构建交互式的图像应用。这个实例下载包含了这些功能的实际应用,对于初学者和进阶者都是很好的学习资源。通过实践这些代码,你将更深入地理解OpenCV在图像处理中的强大功能。
- 1
- 2
- 3
- qq1608162019-11-06挺不错的资源,画线,画矩形,画圆,椭圆都给封成接口了,很清晰,以后可以直接拿来用,谢谢分享
- 粉丝: 3
- 资源: 44
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Python 版官方 Dropbox API V2 SDK.zip
- solidworks焊件槽钢多配置库,一个文件包含所有配置,可用于结构系统,2016以上版本可以打开使用
- jenkins2.346.1最后一版支持java8的jenkins插件
- gcc和clang编译选项总结
- CATICS3D1-18届图纸练习三维二维造型学习建模素材
- CaTICs网络3D大赛-1~8届所有题目建模模型(prt文件)-个人建模,UG8.0以上版本可以打开 观看建模步骤
- linux内核编码风格总结
- 图像识别技术在智能安防、零售、医疗与自动驾驶领域的深度学习应用与实现
- 基于JavaWeb的学生社团信息管理系统源码+数据库脚本.zip
- Python-图片去重工具