03-opencv-python-绘图函数

目录

1、画线

2、画矩形

cv2.rectangle(img,(x0,y0),(x1,y1),color,size)

3、画圆

cv2.circle(img,center_circle_xy,R,color,-1)

4、画椭圆

cv2.ellipse(img,center_ellipse_xy,(100,50),0,0,360,color,-1)

5、画多边形

pts = np.array([[x0,y0],[x1,y1],[x2,y2],[x3,y3],[x4,y4]......],np.int32)

cv2.polylines(img,[pts],True,color,size)

6、添加文字

cv2.putText(img,'word',(x_position,y_position),font,font_size,color,line_size,cv2.LINE_AA)


 

这里的

img_black = np.zeros((500,500,3),np.uint8)

就是构建一个全黑的图片,其实就是500x500像素值的颜色值为(0,0,0)的图片

(需要注意的是:这里matlibplot和cv的颜色格式不一样,所以0,0,0表现得是黑色,我的另一篇博客有转换,但是这里其实没什么必要了)

import cv2
import numpy as np
import matplotlib.pyplot as plt

img_black = np.zeros((500,500,3),np.uint8)
img_black1 = np.zeros((500,500,3),np.uint8)
img_black2 = np.zeros((500,500,3),np.uint8)
img_black3 = np.zeros((500,500,3),np.uint8)
img_black4 = np.zeros((500,500,3),np.uint8)
img_black5 = np.zeros((500,500,3),np.uint8)


plt.subplot(231)
plt.title('line')
cv2.line(img_black,(0,0),(400,300),(255,255,255),5)
plt.imshow(img_black)

plt.subplot(232)
plt.title('rectangle')
cv2.rectangle(img_black1,(150,200),(350,450),(255,255,255),10)
plt.imshow(img_black1)

plt.subplot(233)
plt.title('circle')
cv2.circle(img_black2,(250,250),100,(255,255,255),-1)
plt.imshow(img_black2)

plt.subplot(234)
plt.title('ellipse')
cv2.ellipse(img_black3,(250,250),(100,50),0,0,360,(255,255,255),-1)
plt.imshow(img_black3)

plt.subplot(235)
plt.title('polygon')
pts1 = np.array([[50,10],[250,70],[150,200],[80,90],[70,50]],np.int32)
pts2 = np.array([[250,200],[450,270],[350,400],[280,290],[270,250]],np.int32)
cv2.polylines(img_black4,[pts1],True,(255,255,255),10)
cv2.polylines(img_black4,[pts2],False,(255,255,255),10)
plt.imshow(img_black4)

plt.subplot(236)
plt.title('text')
font = cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img_black5,'love 33',(20,200),font,4,(255,255,255),15,cv2.LINE_AA)
cv2.putText(img_black5,'zhuzhu',(150,400),font,2,(255,255,255),5,cv2.LINE_AA)
plt.imshow(img_black5)

plt.show()

1、画线

​​cv2.line(img,(x_start,y_start),(x_end,y_end),color,size)

 

2、画矩形

cv2.rectangle(img,(x0,y0),(x1,y1),color,size)

 

3、画圆

cv2.circle(img,center_circle_xy,R,color,-1)

-1表示向内填充

 

4、画椭圆

cv2.ellipse(img,center_ellipse_xy,(100,50),0,0,360,color,-1)

(100,50)表示椭圆的长边和短边的长度

0表示顺时针方向旋转

0,360表示旋转一周

 

5、画多边形

pts = np.array([[x0,y0],[x1,y1],[x2,y2],[x3,y3],[x4,y4]......],np.int32)

cv2.polylines(img,[pts],True,color,size)

True表示最后首尾相接成为闭合图片

 

6、添加文字

cv2.putText(img,'word',(x_position,y_position),font,font_size,color,line_size,cv2.LINE_AA)

cv2.LINE_AA表示的文字类型一般都是这个,没啥大用

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值