魏老师学生——Cecil:学习OpenCV-机器视觉之旅
画线
计算机坐标:原点在图像的左上角,x轴正方向为正右方,y轴正方向为正下方。
img:绘图的基体图像。
color:绘图线条颜色。
thickness:线条粗细。默认值1,-1为闭合图形。
1.cv2.line(img,(0,0),(511,511),(255,0,0),5)
——解释:画直线。从起点(0,0)到终点(511,511),线条粗5px,颜色(255,0,0)。
画线:代码演示
# coding=utf-8
import cv2
import numpy as np
img=np.zeros((512,512,3),np.uint8)
cv2.line(img,(0,0),(511,511),(255,0,0),5) # 蓝色线条
画矩形
1.cv2.rectangle(img,(384,0),(510,128),(0,255,0),3) ——解释:画矩形。从左上角(384,0)到右下角(510,128),颜色(0,255,0),线条宽度3px。
画矩形:代码演示
cv2.rectangle(img,(0,0),(300,100),(255,255,255),-1) #闭合矩形
画圆
1.cv2.circle(img,(200,100),50,(0,255,0),-1) ——解释:画圆。圆心(200,100),半径50px,颜色(0,255,0),闭合图形。
画圆:代码演示
cv2.cirlcle(img,(300,200),100,(255,0,0,),3) #线条宽度3px。
画椭圆
1.cv2.ellipse(img,(256,256),(100,50),0,0,180,255,-1) ——解释:画椭圆。中心点位置(256,256),长短轴长度100px、50px,angle 0,椭圆弧顺时针方向起始角度0,结束角度180。颜色255,厚度-1闭合。
画椭圆:代码演示
# coding=utf-8
import cv2
import numpy as np
img=cv2.imread('./images/1.jpg',0)
cv2.ellipse(img,(255,255),(150,50),0,0,180,255,-1)
cv2.imshow('image',img)
画多边形
1.pts=pts.reshape((-1,1,2)) ——解释:画多边形。-1代表这一维长度根据后面维度计算,2代表闭合和线宽。
2.cv2.polylines() ——解释:画多条线,将要画的线放在列表中,列表传给函数就可以。每条线会被独立绘制。
画多边形:代码演示
# coding = utf-8
import cv2
import numpy as np
pts=np.array([[0,0],[50,0],[50,40],[0,40]],np.int32)
pts=pts.reshape((-1,1,2))
图片上加文字
1.cv2.putText(img,‘opencv’,(10,500),font,4,(255,255,255),2) ——解释:在图片上绘制文字。图片:img;文字:opencv;位置:(10,500);字体:font;字号:4号;颜色:白色;线宽:2px。
加文字:代码演示
font=cv2.FONT_HERSHEY_SIMPLEX
cv2.putText(img,'xiaoyin',(300,300),font,4,(0,0,0),3) #白色线条