python_openCV学习笔记(1) 绘制openCV的logo

来源:互联网 发布:交换机端口标签 编辑:程序博客网 时间:2024/09/21 09:00

1.创建背景为白色的画布:

img=np.ones((512,512,3),np.uint8)*255

2.绘制三个圆环:

cv2.circle(img,(256,100),60,(0,0,255),-1)cv2.circle(img,(256,100),25,(255,255,255),-1)cv2.circle(img,(181,228),60,(0,255,0),-1)cv2.circle(img,(181,228),25,(255,255,555),-1)cv2.circle(img,(331,228),60,(255,0,0),-1)cv2.circle(img,(331,228),25,(255,255,255),-1)


结果图:


3.在圆环上叠加三角形,形成缺口圆环的效果:

tri1=np.array([256,100,219,164,293,164],np.int32)tri1=tri1.reshape((-1,1,2))tri2=np.array([[181,228],[256,228],[218,164]],np.int32)tri3=np.array([[331,228],[368,164],[293,164]],np.int32)cv2.fillPoly(img,[tri1,tri2,tri3],(0,255,255)); 

关于fillPoly和fillConvexPoly两个函数的区别,参考这里。

为了方便看清,颜色先调成了黄色。

结果图:


4.添加文字:

font=cv2.FONT_HERSHEY_SIMPLEXcv2.putText(img,'OpenCV',(121,350),font,2.3,(0,0,0),10) 

最终结果图:


完整代码:

import numpy as npimport cv2img=np.ones((512,512,3),np.uint8)*255cv2.circle(img,(256,100),60,(0,0,255),-1)cv2.circle(img,(256,100),25,(255,255,255),-1)cv2.circle(img,(181,228),60,(0,255,0),-1)cv2.circle(img,(181,228),25,(255,255,555),-1)cv2.circle(img,(331,228),60,(255,0,0),-1)cv2.circle(img,(331,228),25,(255,255,255),-1)tri1=np.array([256,100,219,164,293,164],np.int32)tri1=tri1.reshape((-1,1,2))tri2=np.array([[181,228],[256,228],[218,164]],np.int32)tri3=np.array([[331,228],[368,164],[293,164]],np.int32)cv2.fillPoly(img,[tri1,tri2,tri3],(255,255,255)); font=cv2.FONT_HERSHEY_SIMPLEXcv2.putText(img,'OpenCV',(121,350),font,2.3,(0,0,0),10) cv2.imshow('openCV',img)cv2.waitKey(0)cv2.destroyWindow('openCV')cv2.waitKey(1)


0 0
原创粉丝点击