我这里有一行代码,它使用opencv的
python绑定:
cv2.rectangle(img, (box[1], box[0]), (box[3], box[2]), (255,0,0), 4)
这会在厚度为4的图像img上绘制一个红色矩形.
但有没有办法可以将矩形线条风格化?不是太多.只是点缀,或虚线,这是真的.
import cv2
import numpy as np
def drawline(img,pt1,pt2,color,thickness=1,style='dotted',gap=20):
dist =((pt1[0]-pt2[0])**2+(pt1[1]-pt2[1])**2)**.5
pts= []
for i in np.arange(0,dist,gap):
r=i/dist
x=int((pt1[0]*(1-r)+pt2[0]*r)+.5)
y=int((pt1[1]*(1-r)+pt2[1]*r)+.5)
p = (x,y)
pts.append(p)
if style=='dotted':
for p in pts:
cv2.circle(img,p,thickness,color,-1)
else:
s=pts[0]
e=pts[0]
i=0
for p in pts:
s=e
e=p
if i%2==1:
cv2.line(img,s,e,col