# Python program to extract rectangular# Shape using OpenCV in Python3importcv2importnumpyasnpdrawing=False# true if mouse is pressedmode=True# if True, draw rectangle.ix,iy=-1,-1# mouse callback functiondefdraw_circle(event,x,y,flags,param):globalix,iy,drawing,modeifevent==cv2.EVENT_LBUTTONDOWN:drawing=Trueix,iy=x,yelifevent==cv2.EVENT_MOUSEMOVE:ifdrawing==True:ifmode==True:cv2.rectangle(img,(ix,iy),(x,y),(0,255,0),3)a=xb=yifa!=x|b!=y:cv2.rectangle(img,(ix,iy),(x,y),(0,0,0),-1)else:cv2.circle(img,(x,y),5,(0,0,255),-1)elifevent==cv2.EVENT_LBUTTONUP:drawing=Falseifmode==True:cv2.rectangle(img,(ix,iy),(x,y),(0,255,0),2)else:cv2.circle(img,(x,y),5,(0,0,255),-1)img=np.zeros((512,512,3),np.uint8)cv2.namedWindow('image')cv2.setMouseCallback('image',draw_circle)while(1):cv2.imshow('image',img)k=cv2.waitKey(1)&0xFFifk==ord('m'):mode=notmodeelifk==27:breakcv2.destroyAllWindows()