当前位置: 首页 > news >正文

上海长宁区网站建设网站收录入口申请查询

上海长宁区网站建设,网站收录入口申请查询,网站后台字体安装,咨询聊城做网站一、学习目标 了解事件编写一个简易绘画板 二、了解如何制作简易绘画板 2.1 了解鼠标多种事件 上一节我们简单的使用opencv的图形绘制方法#xff0c;用鼠标绘制了一些内容。上一节所响应的是简单的双击事件EVENT_LBUTTONDBLCLK#xff0c;在OpenCV的鼠标事件中还有很多。…一、学习目标 了解事件编写一个简易绘画板 二、了解如何制作简易绘画板 2.1 了解鼠标多种事件 上一节我们简单的使用opencv的图形绘制方法用鼠标绘制了一些内容。上一节所响应的是简单的双击事件EVENT_LBUTTONDBLCLK在OpenCV的鼠标事件中还有很多。以下将列举出来 EVENT_MOUSEMOVE鼠标滑动EVENT_LBUTTONDOWN左键单击EVENT_RBUTTONDOWN右键单击EVENT_MBUTTONDOWN中间单击EVENT_LBUTTONUP左键释放EVENT_RBUTTONUP右键释放EVENT_MBUTTONUP中键释放EVENT_LBUTTONDBLCLK左键双击EVENT_RBUTTONDBLCLK右键双击EVENT_MBUTTONDBLCLK中键双击 以上事件在setMouseCallback函数回调后将会传到所执行的函数中并且以event参数进行对应取值通过event参数进行取值。 首先我们对一些事件进行监测先尝试检测CV_EVENT_MOUSEMOVE鼠标滑动事件。代码如下 import cv2 import numpy as np def listing(event,x,y,flags,param):if eventcv2.EVENT_MOUSEMOVE:print(EVENT_MOUSEMOVE, x:,x, y:,y) imgnp.zeros((600,600,3),np.uint8) cv2.namedWindow(image) cv2.setMouseCallback(image,listening) while(1):cv2.imshow(image,img)if cv2.waitKey(20)0xFF27:break cv2.destroyAllWindows()以上代码使用listing作为回调后的处理并且当事件为EVENT_MOUSEMOVE时将会输出事件名以及当前鼠标所在的x和y坐标的位置。 结果如下 这时我们可以对所有的事件都进行监听这时候修改listen函数就可以了 def listening(event,x,y,flags,param):if eventcv2.EVENT_MOUSEMOVE:print(EVENT_MOUSEMOVE 鼠标滑动, x:,x, y:,y)elif eventcv2.EVENT_LBUTTONDOWN:print(EVENT_LBUTTONDOWN 左键单击, x:,x, y:,y)elif eventcv2.EVENT_RBUTTONDOWN:print(EVENT_RBUTTONDOWN 右键单击, x:,x, y:,y)elif eventcv2.EVENT_MBUTTONDOWN:print(EVENT_MBUTTONDOWN 中间单击, x:,x, y:,y)elif eventcv2.EVENT_LBUTTONUP:print(EVENT_LBUTTONUP 左键释放, x:,x, y:,y)elif eventcv2.EVENT_RBUTTONUP:print(EVENT_RBUTTONUP 右键释放, x:,x, y:,y)elif eventcv2.EVENT_MBUTTONUP:print(EVENT_MBUTTONUP 中键释放, x:,x, y:,y)elif eventcv2.EVENT_LBUTTONDBLCLK:print(EVENT_LBUTTONDBLCLK 左键双击, x:,x, y:,y)elif eventcv2.EVENT_RBUTTONDBLCLK:print(EVENT_RBUTTONDBLCLK 右键双击, x:,x, y:,y)elif eventcv2.EVENT_MBUTTONDBLCLK:print(EVENT_MBUTTONDBLCLK 中键双击, x:,x, y:,y)结果如下 2.2 制作一个简单的绘画板 首先我们对绘制一个拖拽绘制板功能做一个行为分析。我们正常进行拖拽画矩形一般是按下左键并且不放手移动鼠标进行矩形的绘制直到拖拽至我们觉得合适的位置后我们开始松开鼠标。 在以上的绘制行为中一共有几个鼠标事件。有按下鼠标左键事件EVENT_LBUTTONDOWN、鼠标移动事件EVENT_MOUSEMOVE、鼠标左键释放事件EVENT_LBUTTONUP。我们在按下鼠标左键的时候从当前鼠标的x与y坐标开始绘制矩形直到我们松开鼠标后停止绘制。 我们写一个函数作为回调的处理 def draw(event,x,y,flags,param):随后我们在鼠标按下左键的时候需要记住x与y的坐标位置并且表示开始绘制需要一个变量表示绘制状态开启 if eventcv2.EVENT_LBUTTONDOWN:drawingTruesx,syx,y注意由于回调函数每次循环时都会进行调用若drawing此次为True后下一次不能直接进入绘制这个时候需要把drawing、sx、sy都设置成全局变量 drawingFalse sx,sy0,0并且在回调处理的函数中需要加入关键字进行声明是全局变量 global sx,sy,drawing接下来我们应该判断当前是否已经是按下鼠标左键并且进行了拖拽移动这两个状态是并列的所以写个elif语句进行判断 elif eventcv2.EVENT_MOUSEMOVE and flagscv2.EVENT_FLAG_LBUTTON:这个时候在该判断中使用if语句判断是否已经按下左键后开启了绘制防止bug的出现若已经开启了绘制则进行绘制矩形 cv2.rectangle(img,(sx,sy),(x,y),(0,255,0),-1)如上代码中为什么起始绘制点是sx与sy呢那是因为我们按下了鼠标左键后的那个点是绘制起始点从那个点开始绘制矩形到当前鼠标移动到的x和y坐标处这样由于每次都覆盖掉原来的图像造成一种错觉就是在拖拽进行绘制图像并且进行填充颜色为(0,255,0)。由于绘制状态不能一直开启若直接进入了按下左脚与移动时由于保留了上次绘制的绘制开启那么会造成初始绘制点的丢失所以我们还需要判断当鼠标左键释放弹起后把绘制状态改为Fasle。代码如下 elif eventcv2.EVENT_LBUTTONUP:drawingFalse所有完整的代码如下 import cv2 import numpy as npdrawingFalse sx,sy0,0def draw(event,x,y,flags,param):global sx,sy,drawingif eventcv2.EVENT_LBUTTONDOWN:drawingTruesx,syx,yelif eventcv2.EVENT_MOUSEMOVE and flagscv2.EVENT_FLAG_LBUTTON:if drawingTrue:cv2.rectangle(img,(sx,sy),(x,y),(0,255,0),-1)elif eventcv2.EVENT_LBUTTONUP:drawingFalse imgnp.zeros((600,600,3),np.uint8) cv2.namedWindow(image) cv2.setMouseCallback(image,draw) while(1):cv2.imshow(image,img)if cv2.waitKey(20)0xFF27:break cv2.destroyAllWindows()结果如下 该系列首发于ebaina 三、总结 了解了多个鼠标事件通过事件以及灵活运用绘图函数制作了一个简易的绘画板
http://www.zqtcl.cn/news/942250/

相关文章:

  • 网站怎么没有排名做义工旅行有哪些网站
  • 阳江房地产信息网官方网站创业网站开发要多少钱
  • 工业设计招聘信息网站常用的seo网站优化排名
  • 温岭市建设规划局网站网站规划与建设ppt
  • 龙岩网站建设较好的公司做网站销售的换工作
  • 潞城建设局网站建设网站服务器自营方式的特点
  • 西安网站seo公司东莞市专注网站建设怎么样
  • dede游戏网站模板如何做盆栽蔬菜网站
  • 江都建设网站网站开发技术介绍
  • 网站介绍视频怎么做网站建设优化服务
  • 可以左右滑动的网站有口碑的盐城网站建设
  • 360报危险网站注册界面设计
  • 不用淘宝客api如何做网站北京移动官网网站建设
  • 手表哪个网站做的好河北网站备案流程
  • 凡科做的网站推效果网站做seo第一步
  • 建设在线观看视频网站免费企业网站建设免费
  • 网站开发需要后台吗哪家建站公司好
  • 个人建设网站论文网站视频怎么做的
  • 不同类型的购物网站汉川网站建设
  • 网站开发需求文档范文广州公司网站托管
  • 网站制作公司官网首页撸撸撸做最好的导航网站
  • 网站建设毕业设计综述centos 安装wordpress lnmp
  • 济宁专业做网站网站建设中 html
  • 中国排名高的购物网站最新发布的手机2022
  • 备案的网站名与公司名称出国用哪个地图app好
  • 网站建设工作室图片文章资讯类网站
  • 深圳自助建站系统网站题目有哪些
  • 郑州做网站kuihuakeji软文发布的平台与板块
  • 一那个网站可以做一建题安全文化企业示范企业评价标准
  • 网站没有关键词收录phpstudy配置网站