- 计算机视觉应用与实战
- 韩少云等编著
- 479字
- 2022-08-16 14:46:30
3.1 OpenCV绘图
3.1.1 使用OpenCV绘制各种图形
使用 OpenCV 可以绘制不同的几何图形,可以使用的方法包括 cv.line()、cv.circle()、cv.rectangle()、cv.ellipse()、cv.putText()等。在上述方法中有如下一些常见的参数。
·img:要绘制图形的图像。
·color:图形的颜色。对于BGR,将其作为元组传递,如(255,0,0)。对于灰度,只需传递标量值即可。
·厚度:线或圆形等的粗细。如果向闭合图形(如圆形)传递-1,它将填充图形。默认厚度为1。
·lineType:线的类型,包括8连接线、抗锯齿线等,在默认情况下为8连接线。cv.LINE_AA表示抗锯齿的线条,非常适合作为曲线。
3.1.2 案例实现
1.实验目标
掌握使用OpenCV在图像上绘制多种图形(包括绘制线、矩形、圆形、椭圆形、多边形)及添加文字的方法。
2.实验环境
实验环境如表3.1所示。
表3.1 实验环境
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_46_1.jpg?sign=1739007136-mQ6KUf6NyBAWaXGlX7kbQ9sGhNd0zTdk-0-eba40d653a150369b16253b491d2f0b0)
3.实验步骤
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_46_2.jpg?sign=1739007136-JF6wlucv6PP8KJsO9RDCqHarNk2bmvbR-0-c414da7b0883867112e341707a765369)
图3.1 实验目录结构
创建源码文件test01_draw.py,实验目录结构如图3.1所示。
按照如下步骤编写代码。
步骤一:导入模块
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_46_3.jpg?sign=1739007136-q9mbpDFd1kDqvbu2FBCBMv3WSmbtasZT-0-143055e1785f0f04f874b0b05fe341a6)
步骤二:绘制线
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_46_4.jpg?sign=1739007136-UZGxlZBEfzWEGjhNVN0HCM7UVWXnoDXl-0-f408f09727b87662fcb36990916d56de)
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_47_1.jpg?sign=1739007136-cUweYSO3yR0WR93rSw524xwlJmt1yvey-0-16ba27504e6e481c8c1057c3ad4d91c8)
步骤三:绘制矩形
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_47_2.jpg?sign=1739007136-RbopwkEmJwbxHABJkLcMohqi6pe8XB8D-0-3b810358455d649a2c77df94b05003ba)
步骤四:绘制圆形
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_47_3.jpg?sign=1739007136-qJixBWqsW1g1mhhlQ0NHSgiydQEMRtAu-0-894d6874024bf6bab0209f7a98e40644)
步骤五:绘制椭圆形
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_48_1.jpg?sign=1739007136-RsldHksADtyGNjRvirK8JDKmZUwdN36l-0-7213456774158d8875732832e5f2d8f2)
步骤六:绘制多边形
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_48_2.jpg?sign=1739007136-ynhghKEEWIPpSo4ScRcXABFMXTz67URH-0-14c0c642461a237718af5368f7016f1f)
步骤七:添加文字
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_49_1.jpg?sign=1739007136-3Bu0yCQp7oC00m0Eh9vH8JUloSLwRwMp-0-b6c6253ccfea76643d6470c97d1bfea9)
步骤八:运行实验代码
使用如下命令运行实验代码。
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_49_2.jpg?sign=1739007136-rLmmA9hbsLvKhqQU9tBGqF0C1UUWz5z5-0-cb1d3b10d86f39e90bb495d15ed29844)
运行效果如图3.2~图3.7所示。
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_49_3.jpg?sign=1739007136-KzIQrofC2qdmzQDJo7SnJLrutgh9UcRa-0-7c83d244701abdfcc4c088fc23fa2b4c)
图3.2 绘制线
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_49_4.jpg?sign=1739007136-BDOC8Ua2FkcPxRoQEDpq2xJoeTVHGIvZ-0-787b6b53bd06bfa6045c0b488490bda8)
图3.3 绘制矩形
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_50_1.jpg?sign=1739007136-1DrtDSZchBNMh6I2NqmIeSTCAqD3X4WS-0-32059f26f5d69673b9452ec80ab64de2)
图3.4 绘制圆形
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_50_2.jpg?sign=1739007136-rbV9EEJCkCRITGuzZdWZOVJ00NxLI2gK-0-cdf560b64bc6c993df2994fa8d3e28b7)
图3.5 绘制椭圆形
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_50_3.jpg?sign=1739007136-xTMP740wzy9FZfzknPWhrLiIXEueMya4-0-38b8f4ab0f7c20e3c455dc98d7467450)
图3.6 绘制多边形
![](https://epubservercos.yuewen.com/254F10/23950114009720806/epubprivate/OEBPS/Images/43251_50_4.jpg?sign=1739007136-8KsTAx3GRkvgvClUzEwiqyRlLZC62P7m-0-805a91344e3b895faf9dcdb9432b6d94)
图3.7 添加文字