OpenCV中的绘图函数
OpenCV(Open Source Computer Vision Library)是一个开源的计算机视觉和机器学习软件库。它由一系列的C函数和少量C++类构成,同时提供Python、Java和MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。
下面我们将学习OpenCV的一些绘图函数有cv.line(),cv.rectangle(),cv.circle(),cv.ellipse(),cv.putText()等等。
一,画OpenCV
import numpy as np
import cv2 as cv
img = np.zeros((512,512,3),np.uint8)# np.zeros()有两个参数,
# 一个是创建图片矩阵大小,另一个是数据类型,
# 512,512是像素(第一个是像素高,第二个是像素宽)
# 3指三种BGR三种颜色,uint8是用0-255表示所有颜色
cv.line(img,(0,0),(511,511),(255,0,0),5)# 画一条5像素厚的蓝色斜线
# img为想要绘制的那幅图像
# 第二个参数为线条的起点
# 第三个参数为线条的终点
# 第四个参数为线条的颜色
# 第五个参数为线条的粗细
cv.rectangle(img,(384,0),(510,128),(0,255,0),3)# 画矩形
# img为想要绘制的那幅图像
# 第二个参数为绘制矩形的左上角
# 第三个参数为矩形的右下角
# 第三个参数为矩形的颜色
# 第五个参数为线条的粗细
cv.circle(img,(447,63),63,(0,0,255),-1)# 绘制圆形
# img 要绘制的图像
# (447,63)圆心
# 63 半径
# (0,0,255) 颜色
# -1 线条宽度 为-1时生成闭合图案并填充颜色
cv.ellipse(img,(256,256),(100,50),0,0,180,(255,255,0),-1)
# 要在上面画椭圆的图像对象
# 椭圆中心坐标
# 椭圆的长半轴和短半轴长度
# 椭圆逆时针自转的角度
# 椭圆弧从主轴开始(最常见的二维坐标系的x轴正向)顺时针绘制的开始角度
# 椭圆弧从主轴开始(最常见的二维坐标系的x轴正向)顺时针绘制的结束角度
# 椭圆颜色
# 椭圆线条宽度
pts = np.array([[10,5],[20,30],[70,20],[50,10]], np.int32)
pts = pts.reshape((-1,1,2))
cv.polylines(img,[pts],True,(0,255,255),1)
# 这个函数有5个参数:图像名称,顶点列表(这个多边形在array中有四个顶点),True表示闭合,(0,255,255)是黄色,1是线宽
font = cv.FONT_HERSHEY_SIMPLEX
cv.putText(img,'OpenCV',(10,500),font,4,(255,255,255),2,cv.LINE_AA)
# 参数1:img
# 参数2:要添加的文本
# 参数3:文字的起始坐标
# 参数4:font:字体(通过查看 cv2.putText() 的文档找到支持的字体)
# 参数5:文字大小(缩放比例)
# 参数6:颜色
# 参数7:线条宽度
# 参数8:线条形状(为了更好看一点推荐使用 linetype=cv2.LINE_AA)
cv.imshow('img',img)
cv.waitKey(0)
小结
通过对OpenCV一些简单的绘画函数让我们对OpenCV有了一些基础的了解,这后我会不断的系统的分享关于我对OpenCV的图像处理函数的学习。大家可以关注,点赞加收藏,一起学习,对我的文章,内容格式有什么建议,欢迎评论,私信,我会第一时间回复,谢谢。