本节主要在上一节基础上进一步来完整实现画图,上一节的重点在于鼠标事件,但在函数的实际运用中并不多,本节也会用到。本节主要想实现以下功能:
1、正常的画图部分,增加可以修改画笔颜色以及粗细,并能够实时预览效果;
2、可以切换画笔模式,用来画矩形,按下'm'键来实现切换;
3、实现橡皮擦功能
实现步骤:
1. 创建画板(画板大小为490×720)#画板大小可随自己喜欢来设置
img=255*np.ones((490,720,3),np.uint8)#创建画板
2. 创建画笔选择的滑动条,以及橡皮擦开关(用滑动条代替),回调函数什么也不做
#创建画图颜色滑动条
cv2.createTrackbar('r','mPaint',0,255,nothing)
cv2.createTrackbar('g','mPaint',0,255,nothing)
cv2.createTrackbar('b','mPaint',0,255,nothing)
#创建画笔粗细
cv2.createTrackbar('thickness','mPaint',1,8,nothing)
#创建一个橡皮擦
switch='erase'
cv2.createTrackbar(switch,'mPaint',0,1,nothing)
3. 设置鼠标回调函数,监视鼠标事件,以作出回应
#创建窗口
cv2.namedWindow('mPaint')
cv2.setMouseCallback('mPaint',draw_circle)
4. 完成回调函数draw_circle