python获取小图在大图中的坐标和相似度

  • 模块安装:pip install aircv
  • 大小两个图片:big.jpg,small.jpg

模块安装:pip install aircv

大小两个图片:big.jpg,small.jpg

直接上代码

import aircv as ac
from PIL import Image# 需要当前目录准备两个图片,big.jpg 和 small.jpgclass CompareImage():# 可以通过confidencevalue来调节相似程度的阈值,小于阈值不相似def matchImg(self, imgsrc, imgobj, phone_x, phone_y, confidencevalue=0):  # imgsrc=原始图像,imgobj=待查找的小图片imsrc = ac.imread(imgsrc)imobj = ac.imread(imgobj)match_result = ac.find_template(imsrc, imobj, confidencevalue)print(match_result,type(match_result),end="*****\n")if match_result is not None:match_result['shape'] = (imsrc.shape[1], imsrc.shape[0])  # 0为高,1为宽x, y = match_result['result']  # 标准图中小图位置x,yshape_x, shape_y = tuple(map(int, match_result['shape']))  # 标准图中x,yposition_x, position_y = int(phone_x * (x / shape_x)), int(phone_y * (y / shape_y))else:return None,None,None,None# print(match_result)# return match_resultreturn position_x, position_y, str(match_result['confidence'])[:4], match_resultdef fixed_size(self, width, height, infile, outfile):"""按照固定尺寸处理图片"""im = Image.open(infile)out = im.resize((width, height), Image.ANTIALIAS)out.save(outfile)def get_picture_size(self, imgsrc):'''获取图片长,宽'''imsrc = ac.imread(imgsrc)y, x, z = imsrc.shapereturn x, y
if __name__ == '__main__':result = CompareImage().matchImg("big.jpg","small.jpg",10,10)zuobiao = result[3]["rectangle"]xmin = zuobiao[0][0]ymin = zuobiao[0][1]xmax = zuobiao[2][0]ymax = zuobiao[3][1]# 在原始图片上绘制相似的区域import cv2image = cv2.imread('big.jpg')cv2.rectangle(image, (xmin, ymin), (xmax, ymax), (0, 0, 255), 2)cv2.imwrite('result.jpg', image)

python获取小图在大图中的坐标和相似度相关推荐

  1. python 三维数据绘图_Python中三维坐标空间绘制的实现

    在三维空间绘制点,线,面 1.绘制点 用scatter()散点绘制三维坐标点from matplotlib import pyplot as plt from mpl_toolkits.mplot3d ...

  2. 获取鼠标在盒子中的坐标

    1.在盒子内点击,想要得到鼠标距离盒子左右的距离 想到鼠标事件,但是 并不是对于盒子而言的 2.首先得到鼠标在页面中的坐标(pageX.pageY) 3.其次得到盒子在页面中的距离 4.距离一减,就能 ...

  3. android opencv 获取小图在大图的坐标_Android开发—基于OpenCV实现相机实时图像识别跟踪...

    利用OpenCV实现实时图像识别和图像跟踪 图像识别 什么是图像识别 图像识别,是指利用计算机对图像进行处理.分析和理解,以识别各种不同模式的目标和对像的技术.根据观测到的图像,对其中的物体分辨其类别 ...

  4. python 获取第一个key_Python中常见的9大坑,看看你有没有遇到

    ​ Python作为一门简洁且容易上手的语言,正在受到越来越多人的喜爱.但如果你对其中的一些细节不甚了解,就有可能掉入它的"坑"里.本文将介绍学习Python过程中遇到的一些问题, ...

  5. python 获取参数模块_Python中获取启动程序时后面跟的参数的方法(optparse模块)【冰斌棒】...

    Python中获取启动程序时后面跟的参数的方法(optparse模块)[冰斌棒] 3年前 (2018-01-29)    作者:冰斌棒    分类:冰斌棒18程序计划    阅读次数:871 评论(0 ...

  6. python获取字典长度_Python中的字典

    1 字典的定义 dictionary(字典) 是 除列表以外Python之中 最灵活的数据类型 字典同样可以用来 存储多个数据 通常用于存储 描述一个 物体的相关信息 和列表的区别 列表是 有序的对象 ...

  7. 获取IE与FF中鼠标坐标

    据资料显示,IE中获取鼠标坐标的事件属性有以下几个: clientX设置或获取鼠标指针位置相对于 窗口客户区域的x 坐标,其中客户区域不包括窗口自身的控件和滚动条. clientY设置或获取鼠标指针位 ...

  8. python获取字典长度_python中的字典、元组和集合

    一.python中的字典 1.字典的表示方式:{key1:value1,key2:value2,key3:value3}: 2.字典的key通常情况下是字符串,也可以使用其他不可变的数据类型: 3.字 ...

  9. python获取绝对路径_python3中获取文件当前绝对路径的两种方法

    方法1: import sys print(sys.argv) 得到文件当前绝对路径字符串的一个列表 ['D:/pycharm/PracticeProject/ClientServerNetworki ...

最新文章

  1. 输入一个链表,反转链表后,输出新链表的表头(ACM格式)(美团面试题)
  2. 磨刀不误砍柴工!vs2010快捷键大全
  3. 开源实体映射框架EmitMapper介绍
  4. linux跳出循环的三种方式,shell study-13day--跳出循环(break、continue)
  5. 静态编译qemu_使用QEMU chroot进行固件本地调试
  6. JQuery对象与DOM对象的区别与转换
  7. [新功能]Blog首页仅列出标题
  8. 日语学习-多邻国-关卡1-介绍2
  9. python爬取网上文章_python 爬取微信文章
  10. 【CCF】201712-2游戏
  11. 5年IT从业的感悟和未来百万年薪畅想
  12. python学生管理系统连接数据库版,很详细,这个是用函数版的增删改查,拿去用,不谢。...
  13. IT简历写作注意事项
  14. CAPTCHA(验证码)的来源与作用
  15. 使用Git Bash的scp复制文件到Linux
  16. Go Dumpling!让导出数据更容易
  17. 01【股票初级】-【找准入场时机】投资五大流派,好公司投资法,判断单只股票是否便宜?如何找准时机入场?
  18. 过分依赖计算机的危害,惊人研究:过度依赖电脑会使记忆力减退
  19. quilt命令使用介绍
  20. 高德地图获取行政区域以及中心点

热门文章

  1. OSCP靶场6-Stapler(用户收集、wordpress、SMB、mysql上传文件执行反弹shell、用户历史命令)
  2. windows下载Android系统源码
  3. c++实现文件传输之三:断点续传与多线程传输转
  4. SWT的MessageBox对话框
  5. Java虚拟机:Java虚拟机编译器
  6. 奥的斯服务器设置楼层运行,奥的斯服务器PPT
  7. Squirrel脚本语言..游戏开发.
  8. Cookie是什么及用法详解
  9. 什么是cookie?cookie的优缺点。
  10. RAID 1 的优点缺点和应用场景