我有两个python文件,一个用于使用鼠标事件绘制线条,另一个用于在框架上绘制这些线条。因此,当我在opencv的setMouseCallBack函数中调用鼠标事件时,它抛出了一个错误。我是oops新手,所以请帮助我。 第一档
import cv2
import numpy as np
drawing=False # true if mouse is pressed
mode=True # if True, draw rectangle. Press 'm' to toggle to curve
# mouse callback function
class getPoints():
def interactive_drawing(event,x,y,flags,param):
global ix,iy,drawing, mode
if event==cv2.EVENT_LBUTTONDOWN:
drawing=True
ix,iy=x,y
elif event==cv2.EVENT_MOUSEMOVE:
if drawing==True:
if mode==True:
cv2.circle(frame,(x,y),1,(0,0,255),-1)
print("move",x,y)
elif event==cv2.EVENT_LBUTTONUP:
drawing=False
if mode==True:
cv2.circle(frame,(x,y),1,(0,0,255),-1)
print("end",x,y)
第二档
from mouseclickevents import getPoints
import cv2
import numpy as np
import imutils
gp = getPoints()
frame = np.zeros((512,512,3), np.uint8)
cv2.namedWindow('Window')
cv2.setMouseCallback('Window',gp.interactive_drawing)
while(1):
cv2.imshow('Window',frame)
k=cv2.waitKey(1)&0xFF
if k== ord('q'):
break
cv2.destroyAllWindows()
因此,我得到了以下错误“TypeError:interactive_drawing()接受5个位置参数,但给出了6个”,我理解错误的含义,但问题是,当我在setMouseCallBack函数中调用它时,我不知道如何解决这个问题。所以请帮我摆脱这一切
目前没有回答
相关问题 更多 >
编程相关推荐