博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python+opencv图像识别
阅读量:5338 次
发布时间:2019-06-15

本文共 1493 字,大约阅读时间需要 4 分钟。

图像识别

最近工作遇到了一个需要识别安全键盘并点击的需求,做自动化嘛,由于安全键盘的键位固定但是键值随机,所以常规的方法不能正确获取触发点击,so,上网查了一下基本思路都是用机器识别。

  1. 加载opencv-python
    pip install opencv-python
    View Code

     会自动加载opencv-python,numpy和cv2

  2. 当文件中导入cv2,直接上代码:
    def get_keynumber_location(self):        '''        获取字母对应位置        :return:返回template在image中的的bound参数        '''        keynum = pic_path + "\keynum.png"                     #键盘图片        image = cv2.imread(keynum)        key = cur_path + "\keyboard\%s.png" % 1              #数字键图片        template = cv2.imread(key)        h,w = template.shape[:2]                                #字母图片尺寸        result = cv2.matchTemplate(image, template, cv2.TM_CCOEFF_NORMED)       #图片对比        min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(result)              #对比结果最大值最小值以及位置        br = (max_loc[0] + w,max_loc[1] + h)# cv2.rectangle(image,max_loc,br,[0,255,0],2)# cv2.imshow("pipei",image)# cv2.waitKey(0)# cv2.destroyAllWindows()        return max_loc, br    def click_position(self):        '''        确定点击位置        :param password: 口令密码        :return:返回点击位置position        '''        a,b = self.get_keynumber_location()  #template在image中的的bound参数        x = a[0] + b[0]        y = a[1] + b[1]        position = (x / 2,y / 2)        self.driver.tap([position])      # 点击        return position

     基本就是用cv2.imread(path)读取图片,用cv2.matchTemplate(大图,小图,策略)函数进行比较,返回的是一个结果集,用cv2.minMaxLoc(result)函数获得最小值、最大值和相应位置。注释部分是验证识别区域是否正确,click_position是用来确定点击位置和点击事件的。

转载于:https://www.cnblogs.com/restart-zjc/p/11050042.html

你可能感兴趣的文章
Python环境搭建(安装、验证与卸载)
查看>>
一个.NET通用JSON解析/构建类的实现(c#)
查看>>
Windows Phone开发(5):室内装修 转:http://blog.csdn.net/tcjiaan/article/details/7269014
查看>>
详谈js面向对象 javascript oop,持续更新
查看>>
关于这次软件以及pda终端的培训
查看>>
jQuery上传插件Uploadify 3.2在.NET下的详细例子
查看>>
如何辨别一个程序员的水平高低?是靠发量吗?
查看>>
新手村之循环!循环!循环!
查看>>
正则表达式的用法
查看>>
线程安全问题
查看>>
SSM集成activiti6.0错误集锦(一)
查看>>
下拉刷新
查看>>
linux的子进程调用exec( )系列函数
查看>>
MSChart的研究
查看>>
C# 索引器
查看>>
MySQLdb & pymsql
查看>>
zju 2744 回文字符 hdu 1544
查看>>
delphi 内嵌汇编例子
查看>>
【luogu P2298 Mzc和男家丁的游戏】 题解
查看>>
前端笔记-bom
查看>>