python+opencv+pil实现windows 图片位置查找

Posted jokerbi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python+opencv+pil实现windows 图片位置查找相关的知识,希望对你有一定的参考价值。

PIL系统截图、cv2图片匹配

from PIL import ImageGrab
import cv2
import numpy as np

from utils.windows import mouseMove, mouseClick


def mathc_img(Target, value = 0.9):
    try:
        im = np.array(ImageGrab.grab())
        img_gray = cv2.cvtColor(im, cv2.COLOR_BGR2GRAY)
        template = cv2.imread(Target, 0)
        res = cv2.matchTemplate(img_gray, template, cv2.TM_CCOEFF_NORMED)
        threshold = value
        loc = np.where(res >= threshold)
        return (int(loc[1][0]), int(loc[0][0]))
    except :
        raise Exception('未匹配到图片')


def imageSearchClick(Target, x_, y_):
    mouseMove(0, 0)
    x, y = mathc_img(Target)
    mouseMove(x + x_, y + y_)
    mouseClick()
    mouseMove(0, 0)



if __name__ == '__main__':
    # x, y = mathc_img(r'C:\Users\btc\Desktop\1.PNG')
    # mouseMove(x, y)
    imageSearchClick(r'C:\invoicePrint\images\tool0.PNG', 50, 30)

其中的 mouseClick和mouseMove是我自己定义的操作鼠标函数,采用pywin32写的

以上是关于python+opencv+pil实现windows 图片位置查找的主要内容,如果未能解决你的问题,请参考以下文章

基于python-opencv和PIL的截取视频区域生成 GIF 动图

Python中PIL及Opencv转化

python中PIL.Image和OpenCV图像格式相互转换

在 Python 中将 openCV 图像转换为 PIL 图像(用于 Zbar 库)

python中PIL.Image,OpenCV,Numpy图像格式相互转换

路径名太长,尝试在 Python 中使用 OpenCV 或 PIL.Image 保存图像时出错