Python-OpenCV学习(五):二维绘图

转载请注明出处:danscarlett的博客园

参考资料:

lkiller_hust《OpenCV-Python[第二章]——画图函数》

目录

  初始化画布

  画线

  画圆

  其它图像


上述函数具有如下的相同类型的参数:

  • img: 背景图像
  • color: 形状的颜色。格式为BGR,是一个元组,如(255,0,0)表示蓝色。如果是灰度图像则只需要传入灰度值。
  • thickness:厚度,默认值为1,如果对封闭图形传入-1,则会填充整个图形。
  • lineType: 线的类型,默认是8-连通,传入cv2.LINE_AA则是反锯齿,反锯齿在画曲线时看起来会更平滑。

下文中不再赘述以上参数了。

1.画布

np.zeros(shape, dtype=float, order='C')

函数功能:返回一个给定形状、类型的0-矩阵   

参数:

# -*- coding: utf-8 -*-
import cv2
import numpy as np

# 创建一块512*512大小的黑色画布
img = np.zeros((512,512,3),np.uint8)
cv2.imshow('-',img)
cv2.waitKey(0)
#创建一块白色的画布
img = np.zeros((512,512,3),np.uint8)+255

2.画线

cv2.line(img, pt1, pt2, color, thickness=1, lineType=8, shift=0)

功能:在img上画一个从起点pt1到起点pt2的直线

例子:

# -*- coding: utf-8 -*-
import cv2
import numpy as np

# 创建画布
img = np.zeros((512,512,3),np.uint8)+255

#画线:指定起点、终点、线的颜色、线的粗细程度。其它参数默认即可。
cv2.line(img,(0,0),(512,512),[0,0,0],3)

cv2.imshow('-',img)
cv2.waitKey(0)

3.画矩形

cv2.rectangle(img,pt1,pt2,color,thickness=None,lineType=None,shift=None)

例子:

# -*- coding: utf-8 -*-
import cv2
import numpy as np
# 创建画布
img = np.zeros((512,512,3),np.uint8)+255

#画矩阵
cv2.rectangle(img,(100,100),(412,412),[0,0,0],1)

cv2.imshow('-',img)
cv2.waitKey(0)

结果:

3.画圆

circle(img, center, radius, color, thickness=None, lineType=None, shift=None)

功能:以center为圆心,以radius为半径画圆。

 例子:

# -*- coding: utf-8 -*-
import cv2
import numpy as np

# 创建画布
img = np.zeros((512,512,3),np.uint8)+255
cv2.rectangle(img,(100,100),(412,412),[0,0,0],1)

cv2.circle(img,(
255,255),100,[0,0,0],1)
cv2.imshow(
'-',img) cv2.waitKey(0)

 4.其它图像

椭圆:


以上是我目前会用到的,后续遇到其它问题还会补充这篇随笔。

原文地址:https://www.cnblogs.com/danscarlett/p/7160467.html