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

阿里云模板建站怎么样昆山做网站的公司

阿里云模板建站怎么样,昆山做网站的公司,seo优化工具哪个好,上海网站建设不好目录 (1)查看cv2所支持的鼠标事件(2)通过鼠标事件在图像上做标记(3)高级操作:通过移动鼠标在图像绘制图形、曲线 该功能主要创建一个鼠标事件发生时执行的回调函数。鼠标事件可以是任何与鼠标有…

目录

    • (1)查看cv2所支持的鼠标事件
    • (2)通过鼠标事件在图像上做标记
    • (3)高级操作:通过移动鼠标在图像绘制图形、曲线


该功能主要创建一个鼠标事件发生时执行的回调函数。鼠标事件可以是任何与鼠标有关的东西,例如左键,左键,左键双击等。它给我们每个鼠标事件的坐标(x,y)。有了这个活动和地点,我们可以做任何我们喜欢的事情。

(1)查看cv2所支持的鼠标事件

opencv官网解释鼠标事件 其对以下函数有详细介绍

import cv2
# 通过dir访问cv2的EVENT事件
events=[i for i in dir(cv2) if 'EVENT'in i]
print(events)

在这里插入图片描述

(2)通过鼠标事件在图像上做标记

代码中已经给出注释,这里就不做过多说明,具体可刨析源码

在这里插入图片描述

# 构建一个画圆事件
# 发生鼠标事件时鼠标在图像位置的x,y坐标def draw(event, x, y, flags, param):# 事件调用鼠标,双击鼠标左键if event == cv2.EVENT_LBUTTONDBLCLK:# 将鼠标双击处的坐标转为字符串location = '(' + str(x) + ',' + str(y) + ')'# 可有可无,若是想输出上述坐标即可保留# print(location)# 在鼠标点击处绘制标记cv2.drawMarker(img, (x, y), (255, 0, 0), cv2.MARKER_CROSS, thickness=1)# 在鼠标点击处绘制圆cv2.circle(img, (x, y), 50, (0, 255, 0), 1)# 在鼠标点击处显示当前图像坐标cv2.putText(img, location, (x, y), cv2.FONT_HERSHEY_SIMPLEX, 1, [0, 0, 255], 1)# img = np.zeros((512, 512, 3), np.uint8)
img = cv2.imread(r"D:\data\img.png")
# 创建窗口
cv2.namedWindow('draw_img')
# 将窗口与回调函数绑定
cv2.setMouseCallback('draw_img', draw)
while True:cv2.imshow('draw_img', img)# 按q结束当前窗口if cv2.waitKey(1) & 0xFF == ord('q'):break
cv2.destroyAllWindows()

(3)高级操作:通过移动鼠标在图像绘制图形、曲线

代码中已经给出注释,这里就不做过多说明,具体可刨析源码

在这里插入图片描述

# 此时为False,当鼠标产生反应时变成True
drawn = False
# 当model为True时为绘制矩形,当按下m时为绘制曲线
mode = True
ix, iy = -1, -1# 创建回调函数def drawing(event, x, y, flags, param):global ix, iy, drawn, mode# 按下鼠标左键时返回初始坐标if event == cv2.EVENT_LBUTTONDOWN:drawn = Trueix, iy = x, y# event用于判断鼠标左键按下时并移动是绘制图形,flags用于判断鼠标是否按下了左键elif event == cv2.EVENT_MOUSEMOVE and flags == cv2.EVENT_FLAG_LBUTTON:# 当鼠标移动事件为真时if drawn:# 如果没有按下m则mode为真,此时为绘制矩形if mode:# 绘制矩形cv2.rectangle(img, (ix, iy), (x, y), (30, 120, 0), -1)# 当按下m后,此时为绘制曲线else:# 绘制圆cv2.circle(img, (x, y), 1, (0, 255, 255), -1)# 当鼠标松开时,停止绘图elif event == cv2.EVENT_LBUTTONUP:drawn = Falseif __name__ == '__main__':img = cv2.imread(r"D:\data\img.png")cv2.namedWindow('name window')cv2.setMouseCallback('name window', drawing)while 1:cv2.imshow('name window', img)k = cv2.waitKey(1) & 0xFFif k == ord('m'):mode = not modeelif k == ord('q'):breakcv2.destroyAllWindows()

在图像上绘制边框矩阵

其代码和上个代码很类似,只需要调整一下

在这里插入图片描述

http://www.yayakq.cn/news/766913/

相关文章:

  • 学做热干面网站建设网站的一些基本代码
  • 中企高呈网站建设为代理网站做网站
  • 成都网站建设中心网站开发补充合同范本
  • 广西企业响应式网站建设公司什么是百度搜索推广
  • 高端网站制作多少钱柳州网站建设公司
  • 网站空间多大推广网站广告
  • 手机站网站建设自动采集更新的网站wordpress
  • 网站编辑工作好做吗网络公关团队
  • 2016企业网站模板中文建设公司网站有什么好处
  • 郑州网站建设程序asp网站 seo
  • 电力网站建设方案网站链接加密
  • 南宁手机端建站模板百度搜索引擎的使用方法
  • 济南建设银行网站微软做网站
  • 鹤壁市建设工程交易中心网站湘潭优化公司
  • 网站产品分类设计学校的网站开发过程
  • 西安网址开发 网站制作网站集约化建设 要求
  • 郑州网站建设喝彩科技网站建设线框图
  • 潍坊高密网站建设免费好用的wordpress主题
  • 网站排名优化原理做网站的分析报告案例
  • 网站建设收费标准报价怎么做倒计时网站
  • 怎样创建网站赚钱网站做直播需要资质吗
  • 建设银行网站怎么不可登入在线免费做logo印章网站
  • 我下载的免费网站模版源代码是加密的培训方案及培训计划
  • 中兴豫建设管理有限公司网站网站建设实训报告模版
  • 商业网站域名wordpress评分
  • 源码下载网站网站建设与维护教学视频
  • ps做网站 字体多大社交网站是怎么做的
  • editplus网站开发外贸网站建设应该怎样选择语言
  • 电商网站总体设计方案建站费用参考
  • 怎么网上注册公司游戏优化大师