版权声明:本文为博主原创文章,未经博主允许不得转载。若有任何问题,请联系QQ:575925154(加好友时,请备注:CSDN) https://blog.csdn.net/Miracle0_0/article/details/82081298
小案例:点击鼠标左键,点亮象限。
# -*- coding: utf-8 -*-
"""
Created on Sun Aug 26 14:52:20 2018
@author: Miracle
"""
import cv2
import numpy as np
#鼠标点亮象限
def detectQuadrant(event,x,y,flags,param):
if event == cv2.EVENT_LBUTTONDOWN:
if x > width/2:
if y > height/2:
#第四象限
point_top_left = (int(width/2),int(height/2))
point_bottom_right = (width-1,height-1)
else:
#第二象限
point_top_left = (int(width/2),0)
point_bottom_right = (width-1,int(height/2))
elif x < width/2:
if y > height/2:
#第三象限
point_top_left = (0,int(height/2))
point_bottom_right = (int(width/2),height-1)
else:
#第一象限
point_top_left = (0,0)
point_bottom_right = (int(width/2),int(height/2))
#创建矩形框
cv2.rectangle(image,(0,0),(width-1,height-1),
(255,255,255),-1)
cv2.rectangle(image,point_top_left,point_bottom_right,
(0,255,0),-1)
if __name__ == '__main__':
#设置宽、高
width,height = 640,480
#创建一个全白图像
image = 255 * np.ones((height,width,3),dtype = np.uint8)
#创建窗口
cv2.namedWindow('Quadrant')
#设置回滚函数
cv2.setMouseCallback('Quadrant',detectQuadrant)
#无限循环
while True:
cv2.imshow('Quadrant',image)
if cv2.waitKey(10) == 27:
break
cv2.destroyAllWindows()