OpenCV实现画图(画笔线型,颜色)

本篇博客介绍如何在OpenCV中实现更丰富的画图功能,包括改变画笔颜色和粗细、切换画笔模式以画矩形、启用橡皮擦功能。通过创建画板、设置鼠标回调函数和预览功能,用户可以实时预览画笔效果。当按下'q'键时,所有内容将被清除。博客强调了在鼠标事件处理上的改进,确保绘画过程的完整性和连贯性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本节主要在上一节基础上进一步来完整实现画图,上一节的重点在于鼠标事件,但在函数的实际运用中并不多,本节也会用到。本节主要想实现以下功能:

    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


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值