效果
首先点击两个点画一个矩形窗口,接下来继续点两点画个直线,画完之后按下“x”键则会用liang方法裁剪直线,将在窗口外的部分除去,按下”q”退出
代码
import cv2
import numpy as np
import time
import math
img = np.zeros((600, 800, 3), np.uint8)#背景
flag,count=False,2
ptl1x,ptl1y,ptl2x,ptl2y=0,0,0,0
ptR1x,ptR1y,ptR2x,ptR2y=0,0,0,0
def LiangCut(x1,y1,x2,y2,xl,yb,xr,yt):
dx=x2-x1
dy=y2-y1
p=[1,-dx,dx,-dy,dy]
q=[1,x1-xl,xr-x1,y1-yb,yt-y1]
print(p,q,xl,yb,xr,yt)
cv2.line(img,(x1,y1)