本文主要是介绍opencv for python绘制箭靶并标注环数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
先从外到内循环绘制圆
再添加数字(有待改进).
最后绘制十字线
#绘制箭靶并标注环数
import cv2 as cv
import numpy as np
#绘制400*400黑色图像
img=np.zeros((400,400,3),dtype=np.uint8)+255
#绘制同心圆
for i in range(150,0,-30): if i==150 or i==90 or i==30:k=0else:k=255cv.circle(img,(200,200),i,(k,k,k),-1)
#绘制环数
cv.putText(img,'6',(320,197),cv.FONT_HERSHEY_SCRIPT_SIMPLEX,1,(0,0,255),2,cv.LINE_AA)
cv.putText(img,'7',(290,197),cv.FONT_HERSHEY_SCRIPT_SIMPLEX,1,(0,0,255),2,cv.LINE_AA)
cv.putText(img,'8',(260,197),cv.FONT_HERSHEY_SCRIPT_SIMPLEX,1,(0,0,255),2,cv.LINE_AA)
cv.putText(img,'9',(230,197),cv.FONT_HERSHEY_SCRIPT_SIMPLEX,1,(0,0,255),2,cv.LINE_AA)
#绘制十字线
cv.line(img,(200,30),(200,370),(255,0,0),2)
cv.line(img,(30,200),(370,200),(255,0,0),2)
cv.namedWindow('drawcircle')
cv.imshow('drawcircle',img)
cv.waitKey(0)
#本来想在同心圆的for循环加上并列循环
for i,j in zip(range(150,0,-30),range(6,9)):
cv.putText(img,'j',(170+i,197),cv.FONT_HERSHEY_SCRIPT_SIMPLEX,1,(0,0,255),2,cv.LINE_AA)
#但是提示不能操作text,Can't convert object to 'str' for 'text'. 没办法就复制修改了4次绘制文字
#求指正,谢谢.
这篇关于opencv for python绘制箭靶并标注环数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!