1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| import cv2 import numpy as np
gap=4.1 img=np.ones((3508,2479),dtype=np.uint8)*255 x0=y0=12 ppmm=11.8 # 1mm对应图片里的11.8像素 cv2.line(img,(x0,y0),(2478,y0),(0),1) rec_ys1=[int(i+0.5) for i in np.arange(y0+ppmm,3507,2*ppmm)] rec_ys2=[int(i+0.5) for i in np.arange(y0,3507,2*ppmm)] while int(x0+0.5+2*gap*ppmm)<2479: cv2.line(img,(int(x0+0.5),y0),(int(x0+0.5),3507),(0),1) for i in range(1,len(rec_ys1),2): cv2.rectangle(img,(int(x0+0.5),rec_ys1[i-1]),(int(x0+ppmm*gap+0.5),rec_ys1[i]),(0),-1) x0+=ppmm*gap cv2.line(img,(int(x0+0.5),y0),(int(x0+0.5),3507),(0),1) for ry2 in rec_ys2: cv2.line(img,(int(x0+0.5),ry2),(int(x0+ppmm*gap+0.5),ry2),(0),1) x0+=ppmm*gap cv2.line(img,(int(x0+0.5),y0),(int(x0+0.5),3507),(0),1)
cv2.imwrite('test.jpg',img)
|