第一次发帖,代码写的不好的地方见谅
两个模块
import cv2
import numpy as np
这里用numpy创建了一个纯白色的背景
img = np.full((480,640,3),255,np.uint8)
下面设置了三个全局变量,在回调函数里面要用到
white这个主要用来实时显示
最后绘制在img上面
white = img.copy()
point = None
on = 0
这里简单写了个函数,主要用于绘制椭圆的时候解决反方向移动鼠标 的问题
# 取正数函数
def positive_number(num):
if num < 0:
return num*-1
return num
然后就是三个回调函数了,其实也可以写成一个,这个看自己了
画直线其实和矩形区别不大,椭圆麻烦一点
# 画直线回调函数
def draw_line(event,x,y,flags,param):
global point,white,on
if event == 1:
on = 1
point = (x,y)
if event == 4:
cv2.line(img,point,(x,y),(0,0,0),10,8)
point = None
on = 0
if on == 1:
white = img.copy()
cv2.line(white,point,(x,y),(0,0,