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

代刷网站推广全网最便宜比wordpress还好

代刷网站推广全网最便宜,比wordpress还好,建设美食网站的威胁,怎样进入wordpress响应鼠标事件 3. 响应鼠标事件3.1 获取鼠标点击的坐标3.2 获取鼠标点击像素点的颜色3.3 在鼠标点击的位置生成圆3.4 通过拖动鼠标来绘制填充矩形3.5 通过拖动鼠标绘制未填充矩形3.6 使用鼠标选点绘制多边形3.7 按住鼠标左键进行绘图 3. 响应鼠标事件 使用OpenCV读取图像&#…

响应鼠标事件

    • 3. 响应鼠标事件
      • 3.1 获取鼠标点击的坐标
      • 3.2 获取鼠标点击像素点的颜色
      • 3.3 在鼠标点击的位置生成圆
      • 3.4 通过拖动鼠标来绘制填充矩形
      • 3.5 通过拖动鼠标绘制未填充矩形
      • 3.6 使用鼠标选点绘制多边形
      • 3.7 按住鼠标左键进行绘图

3. 响应鼠标事件

使用OpenCV读取图像,可以在读取图像的窗口通过鼠标点击可以实现:获取鼠标点击像素点的坐标、获取鼠标点击像素点的颜色和在鼠标点击的像素点生成圆等等。

# 对窗口的鼠标动作做出回应
cv2.setMouseCallback(winname, callback, userdata)
  • winname:窗口的名字
  • callback:回调函数
  • userdata:给回调函数的参数
# 鼠标回调函数,传入到callback参数上去
def mouse_callback(event, x, y, flags, userdata)
  • enent:鼠标事件
  • x:横坐标
  • y:纵坐标
  • flags:事件组合
  • userdata:与cv2.setMouseCallback中的userdata对应,用于传参
鼠标事件event对应
EVENT_MOUSEMOVE鼠标移动
EVENT_LBUTTONDOWN按下鼠标左键
EVENT_RBUTTONDOWN按下鼠标右键
EVENT_LBUTTONUP左键释放
EVENT_RBUTTONUP右键释放
EVENT_LBUTTONDBLCLK左键双击
EVENT_RBUTTONDBLCLK右键双击

3.1 获取鼠标点击的坐标

import cv2
import numpy as np# 回调函数:鼠标点击输出点击的坐标
# (事件(鼠标移动、左键、右键),横坐标,纵坐标,组合键,setMouseCallback的userdata用于传参)
def mouse_callback(event, x, y, flags, userdata):# 如果鼠标左键点击,则输出横坐标和纵坐标if event == cv2.EVENT_LBUTTONDOWN:print(f'({x}, {y})')# 在图像上绘制点cv2.circle(img, (x, y), 3, (0, 0, 255), -1)# 在图像上添加坐标文本# (图像,文本内容,坐标点,字体类型,字体大小,颜色,字体粗细)cv2.putText(img, f'({x},{y})', (x, y),cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 0, 255), 2)# 获取指定像素点的颜色pixel_color = img[x, y]print("颜色值BGR:", pixel_color)img = cv2.imread('lena.jpg')# 创建窗口
cv2.namedWindow('Point Coordinates')# 将回调函数绑定到窗口
cv2.setMouseCallback('Point Coordinates', mouse_callback)# 显示图像
while True:cv2.imshow('Point Coordinates', img)k = cv2.waitKey(1) & 0xFF# 按esc键退出if k == 27:break
cv2.destroyAllWindows()

3.2 获取鼠标点击像素点的颜色

# 获取指定像素点的颜色
pixel_color = img[x, y]
print("颜色值BGR:", pixel_color)

请添加图片描述

3.3 在鼠标点击的位置生成圆

import cv2img = cv2.imread('lena.jpg')# 回调函数:鼠标点击输出点击的坐标
# (事件(鼠标移动、左键、右键),横坐标,纵坐标,组合键,setMouseCallback的userdata用于传参)
def mouse_callback(event, x, y, flags, userdata):# 如果鼠标左键点击,则输出横坐标和纵坐标if event == cv2.EVENT_LBUTTONDOWN:print(f'({x}, {y})')# 在图像上绘制圆cv2.circle(img, (x, y), 100, (0, 0, 255), -1)# 创建新窗口
cv2.namedWindow('mouse')# 将回调函数绑定在mouse窗口
cv2.setMouseCallback('mouse', mouse_callback)while True:cv2.imshow('mouse', img)k = cv2.waitKey(1) & 0xFF# 按esc键退出if k == 27:break
cv2.destroyAllWindows()

请添加图片描述

3.4 通过拖动鼠标来绘制填充矩形

在用QQ截图的时候,会有绘制矩形框的选项,使用OpenCV来进行模拟

思路:

  1. 鼠标左键点击开始进行绘制
  2. 鼠标未拖动则生成圆点
  3. 鼠标拖动则绘制矩形
  4. 最后在图像上生成矩形框

可用到的event事件:

  • EVENT_LBUTTONDOWN:按下鼠标左键
  • EVENT_MOUSEMOVE:鼠标移动
  • EVENT_LBUTTONUP:左键释放
import cv2
import numpy as npimg = cv2.imread('lena.jpg')drawing = False # 如果按下鼠标,则为真
start_x, start_y = -1, -1# 回调函数:鼠标点击输出点击的坐标
# (事件(鼠标移动、左键、右键),横坐标,纵坐标,组合键,setMouseCallback的userdata用于传参)
def mouse_callback(event, x, y, flags, userdata):global start_x, start_y, drawing# 鼠标左键单击if event == cv2.EVENT_LBUTTONDOWN:drawing = Truestart_x, start_y = x, y# 鼠标移动elif event == cv2.EVENT_MOUSEMOVE:if drawing == True:cv2.rectangle(img, (start_x, start_y), (x, y), (0, 0, 255), -1)# 鼠标左键松开elif event == cv2.EVENT_LBUTTONUP:drawing = False# 创建新窗口
cv2.namedWindow('mouse')# 将回调函数绑定在mouse窗口
cv2.setMouseCallback('mouse', mouse_callback)while True:cv2.imshow('mouse', img)k = cv2.waitKey(1) & 0xFF# 按esc键退出if k == 27:break
cv2.destroyAllWindows()

请添加图片描述

3.5 通过拖动鼠标绘制未填充矩形

import cv2
import numpy as npimg = cv2.imread('lena.jpg')drawing = False # 如果按下鼠标,则为真
start_x, start_y = -1, -1# 回调函数:鼠标点击输出点击的坐标
# (事件(鼠标移动、左键、右键),横坐标,纵坐标,组合键,setMouseCallback的userdata用于传参)
def mouse_callback(event, x, y, flags, userdata):global start_x, start_y, drawing# 鼠标左键单击if event == cv2.EVENT_LBUTTONDOWN:drawing = Truestart_x, start_y = x, y# 鼠标移动elif event == cv2.EVENT_MOUSEMOVE:pass# 鼠标左键松开elif event == cv2.EVENT_LBUTTONUP:drawing = Falsecv2.rectangle(img, (start_x, start_y), (x, y), (0, 0, 255), 3)# 创建新窗口
cv2.namedWindow('mouse')# 将回调函数绑定在mouse窗口
cv2.setMouseCallback('mouse', mouse_callback)while True:cv2.imshow('mouse', img)k = cv2.waitKey(1) & 0xFF# 按esc键退出if k == 27:break
cv2.destroyAllWindows()

请添加图片描述

3.6 使用鼠标选点绘制多边形

import cv2
import numpy as npimg = cv2.imread('lena.jpg')xys = []# 回调函数:鼠标点击输出点击的坐标
# (事件(鼠标移动、左键、右键),横坐标,纵坐标,组合键,setMouseCallback的userdata用于传参)
def mouse_callback(event, x, y, flags, userdata):global xys, img# 鼠标左键单击if event == cv2.EVENT_LBUTTONDOWN:xys.append([x, y])cv2.circle(img, (x, y), 5, (0, 0, 255), -1)# 鼠标右键单击elif event == cv2.EVENT_RBUTTONDOWN:pts = np.array(xys, np.int32)# 画多条线:(图像,点集合,是否闭合,颜色,粗细)cv2.polylines(img, [pts], True, (0, 0, 0), 2)xys = []# 创建新窗口
cv2.namedWindow('mouse')# 将回调函数绑定在mouse窗口
cv2.setMouseCallback('mouse', mouse_callback)while True:cv2.imshow('mouse', img)k = cv2.waitKey(1) & 0xFF# 按esc键退出if k == 27:break
cv2.destroyAllWindows()

按照鼠标选点的先后位置绘制多边形
请添加图片描述
如果相同选点,但顺序不同,绘制的图像也不同
请添加图片描述

3.7 按住鼠标左键进行绘图

可以想象成绘图工具中的橡皮擦操作

import cv2
import numpy as npimg = cv2.imread('lena.jpg')drawing = False # 按下鼠标左键响应# 回调函数:鼠标点击输出点击的坐标
# (事件(鼠标移动、左键、右键),横坐标,纵坐标,组合键,setMouseCallback的userdata用于传参)
def mouse_callback(event, x, y, flags, userdata):global drawing# 鼠标左键单击if event == cv2.EVENT_LBUTTONDOWN:drawing = True# 鼠标移动elif event == cv2.EVENT_MOUSEMOVE:if drawing == True:cv2.circle(img, (x, y), 5, (255, 255, 255), -1)# 鼠标左键释放elif event == cv2.EVENT_LBUTTONUP:drawing = False# 创建新窗口
cv2.namedWindow('mouse')# 将回调函数绑定在mouse窗口
cv2.setMouseCallback('mouse', mouse_callback)while True:cv2.imshow('mouse', img)k = cv2.waitKey(1) & 0xFF# 按esc键退出if k == 27:break
cv2.destroyAllWindows()

请添加图片描述

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

相关文章:

  • 自己做的网站上传到大连html5网站建设报价
  • 网站开发具体工作有那些会议网站建设
  • wordpress分类的id网站关键词优化公司
  • 专做hip hop音乐的网站甘肃建设厅网站官网
  • 站长之家论坛哪里找网站建设的兼职
  • 大庆公司做网站免费行情软件下载
  • 杭州制作网站的公司我想找网站帮忙做宣传
  • 企业网站推广和营销网页推广区别网站建设制作及推广
  • 网站如何做分享网站开发建设合同书
  • 广州越秀网站建设公司开福区城乡建设局网站
  • 淄博网站制作服务建设银行 网站 字体
  • 网站网址ip查询head first wordpress 中文版
  • 上海网站建设导航网站空间买什么的好
  • 网站建设自检自查nas可以做网站吗
  • 横峰县建设局网站面对撞库 网站应该怎么做
  • 网站服务器租用价格 贴吧网络空间的竞争归根结底是
  • 响应式网站的制作大沥南庄网站建设
  • 浙江省住房建设厅网站首页网络安全厂家排名
  • 电子商务网站开发过程wordpress注册侧边栏
  • 人流什么时间做 新闻源网站推广网站平台
  • 网站色彩搭配原则可以做推广的网站
  • 贵阳网站建设 赶集郑州自助建站软件
  • 网站基建建设五大搜索引擎 三大门户网站
  • 百度蜘蛛对视频网站的抓取wordpress账户打通
  • 中国风网站模板航发网上商城
  • 电影网站推荐哪个网站好wordpress获取网址
  • 网站建设 自己的服务器最新新闻事件摘抄
  • 外卖网站开发方案点击seo软件
  • 快刷网站网站形式
  • asp网站制作设计教程如何制作网站