日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python opencv屏幕找图_使用Python+OpenCV进行图像模板匹配(Match Template)实例-找到百度首页按钮并点击...

發布時間:2023/12/2 python 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python opencv屏幕找图_使用Python+OpenCV进行图像模板匹配(Match Template)实例-找到百度首页按钮并点击... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

意圖:準備一張小圖,在電腦屏幕上找到小圖坐標,并點擊。

1? 安裝 opencv 和 numpy:

pip3 install opencv-python

上述命令將?opencv 和 numpy都安裝了,可以在類似D:\Python36\Lib\site-packages目錄下看到

2? 準備小圖,用瀏覽器打開baidu.com,用截圖工具或PrtSc鍵截取百度首頁的那個“百度一下”button,另存為bd.png

3、用程序截屏,存為screen.png,導入兩張圖片,匹配,找到坐標,點擊。

由于還沒有PIL,先pip3 install PIL 結果提示:No matching distribution found for PIL

先 pip3 install Pillow 提示已經安裝了... ...尷尬

為了進行鼠標點擊,安裝pyautogui

pip install -i https://pypi.douban.com/simple/ pyautogui

最終代碼:

# -*- coding: utf-8 -*-import pyautogui

import cv2

import numpyasnpfromPIL import ImageGrab

#截屏,同時提前準備一張屏幕上會出現的小圖bd.png

im=ImageGrab.grab()

im.save('screen.png','png')

#加載原始RGB圖像

img_rgb= cv2.imread("screen.png")

#創建一個原始圖像的灰度版本,所有操作在灰度版本中處理,然后在RGB圖像中使用相同坐標還原

img_gray=cv2.cvtColor(img_rgb, cv2.COLOR_BGR2GRAY)

#加載將要搜索的圖像模板

template= cv2.imread('bd.png',0)

#使用matchTemplate對原始灰度圖像和圖像模板進行匹配

res=cv2.matchTemplate(img_gray,template,cv2.TM_CCOEFF_NORMED)

#設定閾值,0.7應該可以

threshold= 0.999#res大于99.9%loc= np.where( res >=threshold)

#得到原圖像中的坐標for pt in zip(*loc[::-1]):

print(pt[0],pt[1])

pyautogui.click(pt[0],pt[1])break#cv2.destroyAllWindows()

print("the end")

注意:測試時要把baidu首頁的按鈕顯示在屏幕上。

另外代碼好像還是寫復雜了,應該可以直接用minMaxLoc獲取坐標點。

總結

以上是生活随笔為你收集整理的python opencv屏幕找图_使用Python+OpenCV进行图像模板匹配(Match Template)实例-找到百度首页按钮并点击...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。