1、线段绘制
- cv2.line()
- 参数:1、dst; 2、起始位置; 3、结束位置; 4、颜色;5、粗细
- 与左上角为坐标原点,坐标为(x , y)
import cv2
import numpy as np
newImageInfo = (400, 400, 3)
dst = np.zeros(newImageInfo, np.uint8)
cv2.line(dst, (100, 100), (300, 300), (0, 0, 255))
cv2.line(dst, (100,300), (100, 200), (0, 255, 255), 20)
cv2.line(dst, (150,300), (150, 200), (255, 0, 0), 20, cv2.LINE_AA)
cv2.line(dst,(120, 100), (300, 240), (0, 255, 0), 3)
cv2.line(dst,(300, 240), (320, 80), (0, 255, 0), 3)
cv2.line(dst,(120, 100), (320, 80), (0, 255, 0), 3)
cv2.imshow('dst', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
2、矩形绘制
- cv2.rectangle()
- 参数:1、dst; 2、左上角;3、右下角;4、颜色;5、“-1”为填充,大于“0”为粗细
import cv2
import numpy as np
newImageInfo = (300, 300, 3)
dst = np.zeros(newImageInfo, np.uint8)
cv2.rectangle(dst, (50,50), (250,250), (0, 255, 0), -1)
cv2.imshow('dst', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
3、圆形绘制
- cv2.circle()
- 参数:1、dst; 2、圆心;3、半径;4、颜色;5、“-1”为填充,大于“0”为粗细
import cv2
import numpy as np
newImageInfo = (300, 300, 3)
dst = np.zeros(newImageInfo, np.uint8)
cv2.circle(dst, (150,150), 100, (0, 255, 0), 2)
cv2.imshow('dst', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
4、弧形
4.1、半椭圆
- cv2.ellipse()
- 参数:1、dst; 2、椭圆圆心;3、轴(长轴 , 短轴);4、角度;5、开始;6、结束;7、颜色;8、边框
import cv2
import numpy as np
newImageInfo = (300, 300, 3)
dst = np.zeros(newImageInfo, np.uint8)
cv2.ellipse(dst, (150,150), (150,80), 180, 0, 180, (0, 255, 255), -1)
cv2.imshow('dst', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
4.2、椭圆
import cv2
import numpy as np
newImageInfo = (300, 300, 3)
dst = np.zeros(newImageInfo, np.uint8)
cv2.ellipse(dst, (150,150), (150,80), 0, 0, 360, (0, 255, 0), 2)
cv2.imshow('dst', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
5、任意形状图形的绘制
import cv2
import numpy as np
newImageInfo = (300, 300, 3)
dst = np.zeros(newImageInfo, np.uint8)
points = np.array([[150, 50], [140, 140], [200, 170], [280, 250],[150, 50]], np.int32)
points = points.reshape((-1, 1, 2))
cv2.polylines(dst, [points], True, (0, 255, 255), 2)
cv2.imshow('dst', dst)
cv2.waitKey(0)
cv2.destroyAllWindows()
6、图片文字绘制
- cv2.putText()
- 参数: 1、dst; 2、文字内容;3、坐标; 4、字体; 5、字体大小; 6、颜色; 7、细条粗细; 8、线条形状
import cv2
import numpy as np
img = cv2.imread('image.jpg', 1)
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.rectangle(img, (100, 70), (350, 260), (0, 255, 0), 2)
cv2.putText(img, "this is flower", (100, 110), font, 1, (100,0,255), 2, cv2.LINE_AA)
cv2.imshow('dst', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
7、图片缩放重合展示
import cv2
img = cv2.imread('image.jpg', 1)
height = int(img.shape[0]*0.4)
width = int(img.shape[1]*0.4)
imgResize = cv2.resize(img, (width, height))
for i in range(0, height):
for j in range(0, width):
img[i+100, j+200] = imgResize[i, j]
cv2.imshow('src', img)
cv2.waitKey(0)
cv2.destroyAllWindows()