python_opencv用线段画封闭矩形的实例

yipeiwu_com7年前Python基础

如下所示:

def draw_circle(event,x,y,flags,param):
  global ix,iy,drawing,mode,start_x,start_y

  if event == cv2.EVENT_LBUTTONDOWN:
    if drawing == False:
      start_x, start_y = x,y
      ix,iy = x,y
      drawing = True
    elif drawing == True:
      cv2.line(img,(ix,iy),(x,y),(0,255,0),3)
      ix, iy = x, y
    print(drawing)
  elif event == cv2.EVENT_MBUTTONDOWN:
    drawing = False

    cv2.line(img, (ix, iy), (start_x, start_y), (0, 255, 0), 3)
    print(drawing)


  #
  # elif event == cv2.EVENT_RBUTTONUP:
  #   cv2.line(img,(ix,iy),(x,y),(0,255,0),3)
# Next we have to bind this mouse callback function to OpenCV # # window. In the main loop, we should set a keyboard binding for
# key ‘m' to toggle between rectangle and circle.
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) & 0xFF
  if k == ord('m'): # 切换模式
    mode = not mode
  elif k == 27:
    break

cv2.destroyAllWindows()

以上这篇python_opencv用线段画封闭矩形的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python监控nginx端口和进程状态

本文实例为大家分享了python监控nginx端口和进程状态的具体代码,供大家参考,具体内容如下 #!/usr/local/bin/python # coding:utf-8 imp...

python求平均数、方差、中位数的例子

CalStatistics.py def getNum(): #获取用户不定长度的输入 nums = [] iNumStr = input("请输入数字(回车退出...

我就是这样学习Python中的列表

1. 列表 对于python列表的理解可以和C语言里面的数组进行比较性的记忆与对照,它们比较相似,对于python里面列表的定义可以直接用方括号里加所包含对象的方法,并且python的...

Python编写登陆接口的方法

Python编写登陆接口的方法

本文实例为大家分享了Python编写登陆接口的具体代码,供大家参考,具体内容如下 1.输入用户名密码; 2.认证成功后显示欢迎信息; 3.错误三次后,账号被锁定。  账号文件:...

Django数据库连接丢失问题的解决方法

问题 在Django中使用mysql偶尔会出现数据库连接丢失的情况,错误通常有如下两种 OperationalError: (2006, 'MySQL server has gon...