opencv_python学习笔记(2) ------绘制集合图形
opencv_python学习笔记(2)
------绘制集合图形
2.1 绘制直线
代码:cv2.line(img,pt1,pt2,color,thickness,lineType,shift)
参数:img:源图像
pt1:起点
pt2:终点
color:颜色(0,0,0)
thickness:粗细
lineType:类型
2.2 绘制圆形
代码:cv2.circle(img,center,radius,color,thickness,lineType)
参数:img:源图像
center:圆心
radius:半径
color:颜色(0,0,0)
thickness:粗细
lineType:类型
2.3 绘制矩形
代码:cv2.rectangle(img,pt1,pt2,color,thickness,lineType,shift)
参数:img:源图像
pt1:(左上)
pt2:(右下)
color:颜色(0,0,0)
thickness:粗细
lineType:类型
2.4 画椭圆
代码:cv2.ellipse(img,center,axes,angle,startAngle,endAngle,color,thickness,lineType)
参数:img:源图像
center:椭圆中心
axes:轴线(长轴,短轴)
angle:椭圆旋转角度,以度为单位
startAngle:椭圆弧的起始角度,以度为单位
endAngle:椭圆弧的终止角度,以度为单位
color:颜色(0,0,0)
thickness:粗细
lineType:类型 #线型-1表示填充
2.5 画多边形——需要指定每个顶点的坐标
例子:
import numpy as np
pts=np.array([[10,3],[48,19],[60,3],[98,19]],np.int32) #数据类型必须是int32
pts=pts.reshape((-1,1,2))
cv2.polylines(img,[pts],True,(0,0,255),1) # 图像,点集,是否闭合,颜色,线条粗细
‘’‘这里 reshape 的第一个参数为-1, 表明这一维的长度是根据后面的维度的计算出来的。如果第三个参数是 False,我们得到的多边形是不闭合的(首尾不相连)。’’’
2.6 添加文字
代码:cv2.putText(img,text,org,fontFace,fontScale,color,thickness,lineType,bottomLeftOrigin)
参数:img: 源图像
text:文字
org:左下角坐标
fontFace:字体类型
fontScale:字体大小
color:颜色(0,0,0)
thickness:粗细
lineType:类型
bottomLeftOrigin:
2.7 获取并修改图像中的像素点
描述:通过行列的坐标值获取该像素点的像素值,RGB图像返回一个蓝绿红的数组,灰度图像返回一个灰度的强度,使用相同的方法进行修改。
代码:
img=cv2.imread(‘ni.jpg’) # 读入图像
px=img[100,100] # 获取像素点像素值
blue=img[100,100,0] #获取像素点的蓝像素值
img[100,100]=[1,1,1] # 更改像素的像素值
2.8 获取图像的属性
形状:img.shape
大小:img.size
数据类型:img.dtype
2.9 图像通道的拆分与合并
b,g,r=cv2.split(img) #通道的拆分
img=cv2.merge((b,g,r)) #通道的合并
2.10 色彩空间的改变
代码:cv2.cvtColor(src,code,dst,dstCn)
参数:src: 图像
code:输出图像
dst: color转化代码 #如dst=cv2.COLOR_BGR2LAB,
dstCn:输出通道
上一篇: 使用mathematica剪辑音乐
下一篇: 百度调整医疗团队押宝人工智能 等得起吗?