Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/opencv/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用鼠标打开cv python绘图_Python_Opencv - Fatal编程技术网

用鼠标打开cv python绘图

用鼠标打开cv python绘图,python,opencv,Python,Opencv,我一直收到一个无效的语法错误。那么,我如何解决这个问题,以及将来在哪里可以找到相关文档 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 ix,iy = -1,-1 class DessinerLigne: def dessinerLigne(self):

我一直收到一个无效的语法错误。那么,我如何解决这个问题,以及将来在哪里可以找到相关文档

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
ix,iy = -1,-1
class DessinerLigne:
def dessinerLigne(self):
    # Create a black image
    self.img=np.zeros((512,512,3),np.uint8)


def draw_circle(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.rectangle(img,(ix,iy),(x,y),(0,255,0),-1)
            else:
                cv2.circle(img,(x,y),5,(0,0,255),-1)

    elif event == cv2.EVENT_LBUTTONUP:
        drawing = False
        if mode == True:
            cv2.rectangle(img,(ix,iy),(x,y),(0,255,0),-1)
        else:
            cv2.circle(img,(x,y),5,(0,0,255),-
img = np.zeros((512,512,3), np.uint8)

    cv2.imshow("Image", self.img)
    # If q is pressed then exit program
    self.k=cv2.waitKey(0)
    if self.k==ord('q'):
        cv2.destroyAllWindows()

if __name__=="__main__":
DL=DessinerLigne()
DL.dessinerLigne()

这个脚本显然存在多个问题。需要立即注意的是:

DesinerAlign类的定义中存在缩进错误。 更改:

class DessinerLigne:
def dessinerLigne(self):
    # Create a black image
    self.img=np.zeros((512,512,3),np.uint8)
致:

并且压痕误差应该是固定的

第32行代码不完整

第33行是画圆方法的一部分吗?如果是这样,则必须正确缩进。在其前面添加4个空格

你好像从什么地方粘贴了代码。在此过程中,很可能出现了一些可能会破坏语法的不可见控件字符。使用具有“显示不可见”功能的编辑器来解决此问题


您收到的错误是什么?请将具体错误及其所在位置添加到问题中您的代码返回文档并在记事本中完全重写代码,然后将其复制并粘贴到空闲中并使其正常工作。谢谢你的回复。太好了!如果你不知道隐形角色的存在,他们会让你做噩梦。我试过了,但它说我的名声不到15。但是是的,你很棒,而且确实帮了大忙
class DessinerLigne:
    def dessinerLigne(self):
        # Create a black image
        self.img=np.zeros((512,512,3),np.uint8)